X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat.pm;h=750b19c1ba0f64546d966fb1e50bf38accaa399e;hb=2b0334f87ded2e6bfeecc2aeebfe5d8d5f454a21;hp=c221a617c41e70dac4c236b772fe22c9e6e432c0;hpb=2a21de92912f460837806a8f1d0a6f8b892609da;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/CDBICompat.pm b/lib/DBIx/Class/CDBICompat.pm index c221a61..750b19c 100644 --- a/lib/DBIx/Class/CDBICompat.pm +++ b/lib/DBIx/Class/CDBICompat.pm @@ -2,13 +2,19 @@ package DBIx::Class::CDBICompat; use strict; use warnings; -use base qw/DBIx::Class/; +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 @@ -16,23 +22,28 @@ __PACKAGE__->load_own_components(qw/ Constructor AccessorMapping ColumnCase - MightHave - HasMany HasA + HasMany + MightHave + Copy LazyLoading AutoUpdate TempColumns + GetSet Retrieve Pager ColumnGroups - ImaDBI/); + 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 @@ -41,15 +52,16 @@ DBIx::Class::CDBICompat - Class::DBI Compatability layer. =head1 DESCRIPTION -DBIx::Class features a fully featured compability layer with L -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 +and L 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; @@ -61,12 +73,16 @@ provided it looks something like this: CDBICompat::MightHave /); -=head1 Components +=head1 COMPONENTS =over 4 =item AccessorMapping +=item AbstractSearch + +Compatibility with Class::DBI::AbstractSearch. + =item AttributeAPI =item AutoUpdate @@ -87,12 +103,8 @@ Allows you to turn on automatic updates for column values. =item HasA -Responsible for HasA relationships. - =item HasMany -Responsible for HasMany relationships. - =item ImaDBI =item LazyLoading @@ -100,12 +112,10 @@ Responsible for HasMany relationships. =item LiveObjectIndex The live object index tries to ensure there is only one version of a object -in the perl interprenter. +in the perl interpreter. =item MightHave -Responsible for MightHave relationships. - =item ObjIndexStubs =item ReadOnly @@ -118,12 +128,33 @@ Responsible for MightHave relationships. =item Triggers -This class implements the trigger functionality. - =item PassThrough =back +=head1 LIMITATIONS + +The following methods and classes are not emulated, maybe in the future. + +=over 4 + +=item Class::DBI::Query + +Deprecated in Class::DBI. + +=item Class::DBI::Column + +Not documented in Class::DBI. CDBICompat's columns() returns a plain string, not an object. + +=item data_type() + +Undocumented CDBI method. + +=item meta_info() + +Undocumented CDBI method. + +=back =head1 AUTHORS