use strict;
use warnings;
use base qw/DBIx::Class::Core DBIx::Class::DB/;
+use Carp::Clan qw/^DBIx::Class/;
+
+eval {
+ require Class::Trigger;
+ require DBIx::ContextualFetch;
+};
+croak "Class::Trigger and DBIx::ContextualFetch is required for CDBICompat" if $@;
__PACKAGE__->load_own_components(qw/
Constraints
Triggers
ReadOnly
- GetSet
LiveObjectIndex
AttributeAPI
Stringify
Constructor
AccessorMapping
ColumnCase
- HasA
- HasMany
- MightHave
+ Relationships
+ Copy
LazyLoading
AutoUpdate
TempColumns
+ GetSet
Retrieve
Pager
ColumnGroups
- ImaDBI/);
+ ColumnsAsHash
+ AbstractSearch
+ ImaDBI
+ Iterator
+/);
#DBIx::Class::ObjIndexStubs
1;
-=head1 NAME
+=head1 NAME
-DBIx::Class::CDBICompat - Class::DBI Compatability layer.
+DBIx::Class::CDBICompat - Class::DBI Compatibility layer.
=head1 SYNOPSIS
=head1 DESCRIPTION
-DBIx::Class features a fully featured compability layer with L<Class::DBI>
-to ease transition for existing CDBI users. In fact, this class is just a
-receipe containing all the features emulated. If you like, you can choose
-which features to emulate by building your own class and loading it like
-this:
+DBIx::Class features a fully featured compatibility layer with L<Class::DBI>
+and L<Class::DBI::AbstractSearch> to ease transition for existing CDBI users.
+
+In fact, this class is just a receipe containing all the features emulated.
+If you like, you can choose which features to emulate by building your
+own class and loading it like this:
__PACKAGE__->load_own_components(qw/CDBICompat/);
-this will automatically load the features included in My::DB::CDBICompat,
+this will automatically load the features included in My::DB::CDBICompat,
provided it looks something like this:
package My::DB::CDBICompat;
CDBICompat::MightHave
/);
-=head1 Components
-
-=over 4
-
-=item AccessorMapping
-
-=item AttributeAPI
-
-=item AutoUpdate
-
-Allows you to turn on automatic updates for column values.
-
-=item ColumnCase
-
-=item ColumnGroups
-
-=item Constraints
-
-=item Constructor
-
-=item DestroyWarning
-
-=item GetSet
-
-=item HasA
-
-Responsible for HasA relationships.
-
-=item HasMany
-
-Responsible for HasMany relationships.
-
-=item ImaDBI
-
-=item LazyLoading
-
-=item LiveObjectIndex
+=back
-The live object index tries to ensure there is only one version of a object
-in the perl interprenter.
+=head1 LIMITATIONS
-=item MightHave
+The following methods and classes are not emulated, maybe in the future.
-Responsible for MightHave relationships.
+=over 4
-=item ObjIndexStubs
+=item Class::DBI::Query
-=item ReadOnly
+Deprecated in Class::DBI.
-=item Retrieve
+=item Class::DBI::Column
-=item Stringify
+Not documented in Class::DBI. CDBICompat's columns() returns a plain string, not an object.
-=item TempColumns
+=item data_type()
-=item Triggers
+Undocumented CDBI method.
-This class implements the trigger functionality.
+=item Class::DBI::Relationship
-=item PassThrough
+The semi-documented Class::DBI::Relationship objects returned by C<meta_info($type, $col)> are mostly emulated except for their C<args> method.
=back