r52852 - in /trunk/libdbix-class-schema-loader-perl: ./ debian/ lib/DBIx/Class/Schema/ lib/DBIx/Class/Schema/Loader/ lib/DBIx/Class/Schema/Loader/DBI/ lib/DBIx/Class/Schema/Loader/DBI/Component/ lib/DBIx/Class/Schema/Loader/DBI/ODBC/ lib/DBIx/Class/Schema/Loader/DBI/Sybase/ t/ t/lib/

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Mon Feb 15 22:59:21 UTC 2010


Author: jawnsy-guest
Date: Mon Feb 15 22:59:10 2010
New Revision: 52852

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=52852
Log:
* New upstream release
* Add dependency on namespace::autoclean per upstream

Added:
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC/SQL_Anywhere.pm
      - copied unchanged from r52850, branches/upstream/libdbix-class-schema-loader-perl/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC/SQL_Anywhere.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm
      - copied unchanged from r52850, branches/upstream/libdbix-class-schema-loader-perl/current/lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm
    trunk/libdbix-class-schema-loader-perl/t/17sybase_asa_common.t
      - copied unchanged from r52850, branches/upstream/libdbix-class-schema-loader-perl/current/t/17sybase_asa_common.t
    trunk/libdbix-class-schema-loader-perl/t/17sybase_asa_odbc_common.t
      - copied unchanged from r52850, branches/upstream/libdbix-class-schema-loader-perl/current/t/17sybase_asa_odbc_common.t
Modified:
    trunk/libdbix-class-schema-loader-perl/Changes
    trunk/libdbix-class-schema-loader-perl/MANIFEST
    trunk/libdbix-class-schema-loader-perl/META.yml
    trunk/libdbix-class-schema-loader-perl/Makefile.PL
    trunk/libdbix-class-schema-loader-perl/README
    trunk/libdbix-class-schema-loader-perl/debian/changelog
    trunk/libdbix-class-schema-loader-perl/debian/control
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/Base.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Component/QuotedDefault.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm
    trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/RelBuilder.pm
    trunk/libdbix-class-schema-loader-perl/t/10sqlite_common.t
    trunk/libdbix-class-schema-loader-perl/t/23dumpmore.t
    trunk/libdbix-class-schema-loader-perl/t/lib/dbixcsl_common_tests.pm

Modified: trunk/libdbix-class-schema-loader-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/Changes?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/Changes (original)
+++ trunk/libdbix-class-schema-loader-perl/Changes Mon Feb 15 22:59:10 2010
@@ -1,4 +1,10 @@
 Revision history for Perl extension DBIx::Class::Schema::Loader
+
+0.05002  2010-02-15 10:17:47
+        - support for SQLAnywhere via DBD::SQLAnywhere and ODBC
+        - fix picking up quoted tables for SQLite (RT#54538) patch from schwern
+        - validate class/component loader_options to make sure classes
+          are available before generating the schema, patch from bphillips
 
 0.05001  2010-02-05 14:29:27
         - correct default_value for all backends with common tests

Modified: trunk/libdbix-class-schema-loader-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/MANIFEST?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/MANIFEST (original)
+++ trunk/libdbix-class-schema-loader-perl/MANIFEST Mon Feb 15 22:59:10 2010
@@ -20,8 +20,10 @@
 lib/DBIx/Class/Schema/Loader/DBI/mysql.pm
 lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm
 lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm
+lib/DBIx/Class/Schema/Loader/DBI/ODBC/SQL_Anywhere.pm
 lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm
 lib/DBIx/Class/Schema/Loader/DBI/Pg.pm
+lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm
 lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm
 lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm
 lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm
@@ -47,6 +49,8 @@
 t/15sybase_common.t
 t/16mssql_common.t
 t/16mssql_odbc_common.t
+t/17sybase_asa_common.t
+t/17sybase_asa_odbc_common.t
 t/20invocations.t
 t/21misc_fatal.t
 t/22dump.t

Modified: trunk/libdbix-class-schema-loader-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/META.yml?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/META.yml (original)
+++ trunk/libdbix-class-schema-loader-perl/META.yml Mon Feb 15 22:59:10 2010
@@ -29,55 +29,61 @@
 provides:
   DBIx::Class::Schema::Loader:
     file: lib/DBIx/Class/Schema/Loader.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::Base:
     file: lib/DBIx/Class/Schema/Loader/Base.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI:
     file: lib/DBIx/Class/Schema/Loader/DBI.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::Component::QuotedDefault:
     file: lib/DBIx/Class/Schema/Loader/DBI/Component/QuotedDefault.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::DB2:
     file: lib/DBIx/Class/Schema/Loader/DBI/DB2.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::MSSQL:
     file: lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::ODBC:
     file: lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::ODBC::Microsoft_SQL_Server:
     file: lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm
-    version: 0.05001
+    version: 0.05002
+  DBIx::Class::Schema::Loader::DBI::ODBC::SQL_Anywhere:
+    file: lib/DBIx/Class/Schema/Loader/DBI/ODBC/SQL_Anywhere.pm
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::Oracle:
     file: lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::Pg:
     file: lib/DBIx/Class/Schema/Loader/DBI/Pg.pm
-    version: 0.05001
+    version: 0.05002
+  DBIx::Class::Schema::Loader::DBI::SQLAnywhere:
+    file: lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::SQLite:
     file: lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::Sybase:
     file: lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::Sybase::Common:
     file: lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::Sybase::Microsoft_SQL_Server:
     file: lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::Writing:
     file: lib/DBIx/Class/Schema/Loader/DBI/Writing.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::DBI::mysql:
     file: lib/DBIx/Class/Schema/Loader/DBI/mysql.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::RelBuilder:
     file: lib/DBIx/Class/Schema/Loader/RelBuilder.pm
-    version: 0.05001
+    version: 0.05002
   DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_040:
     file: lib/DBIx/Class/Schema/Loader/RelBuilder/Compat/v0_040.pm
 requires:
@@ -93,11 +99,13 @@
   File::Slurp: 9999.13
   File::Spec: 0
   Lingua::EN::Inflect::Number: 1.1
+  List::MoreUtils: 0
   Scalar::Util: 0
   Text::Balanced: 0
+  namespace::autoclean: 0
 resources:
   IRC: irc://irc.perl.org/#dbix-class
   MailingList: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
   license: http://dev.perl.org/licenses/
   repository: git://git.shadowcat.co.uk/dbsrgits/DBIx-Class-Schema-Loader.git
-version: 0.05001
+version: 0.05002

Modified: trunk/libdbix-class-schema-loader-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/Makefile.PL?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/Makefile.PL (original)
+++ trunk/libdbix-class-schema-loader-perl/Makefile.PL Mon Feb 15 22:59:10 2010
@@ -27,6 +27,8 @@
 requires 'DBIx::Class'                 => '0.08114';
 requires 'Class::Unload'               => 0;
 requires 'File::Slurp'                 => '9999.13';
+requires 'List::MoreUtils'             => 0;
+requires 'namespace::autoclean'        => 0;
 
 install_script 'script/dbicdump';
 
@@ -94,7 +96,7 @@
         ],
     },
     MSSQL => {
-        label => 'Microsoft SQL Server Support via DBD::Sybase (experimental)',
+        label => 'Microsoft SQL Server Support via DBD::Sybase',
         def   => $ENV{DBIC_FEATURE_MSSQL} || 0,
         deps  => [
             'DBI'         => '1.56',
@@ -102,7 +104,7 @@
         ],
     },
     MSSQL_ODBC => {
-        label => 'Microsoft SQL Server Support via DBD::ODBC (experimental)',
+        label => 'Microsoft SQL Server Support via DBD::ODBC',
         def   => $ENV{DBIC_FEATURE_MSSQL} || 0,
         deps  => [
             'DBI'       => '1.56',

Modified: trunk/libdbix-class-schema-loader-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/README?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/README (original)
+++ trunk/libdbix-class-schema-loader-perl/README Mon Feb 15 22:59:10 2010
@@ -292,6 +292,10 @@
 
     acmoore: Andrew Moore <amoore at cpan.org>
 
+    bphillips: Brian Phillips <bphillips at cpan.org>
+
+    schwern: Michael G. Schwern <mschwern at cpan.org>
+
     ... and lots of other folks. If we forgot you, please write the current
     maintainer or RT.
 

Modified: trunk/libdbix-class-schema-loader-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/debian/changelog?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/debian/changelog (original)
+++ trunk/libdbix-class-schema-loader-perl/debian/changelog Mon Feb 15 22:59:10 2010
@@ -1,3 +1,10 @@
+libdbix-class-schema-loader-perl (0.05002-1) UNRELEASED; urgency=low
+
+  * New upstream release
+  * Add dependency on namespace::autoclean per upstream
+
+ -- Jonathan Yu <jawnsy at cpan.org>  Mon, 15 Feb 2010 16:58:47 -0500
+
 libdbix-class-schema-loader-perl (0.05001-1) unstable; urgency=low
 
   [ Jonathan Yu ]

Modified: trunk/libdbix-class-schema-loader-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/debian/control?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/debian/control (original)
+++ trunk/libdbix-class-schema-loader-perl/debian/control Mon Feb 15 22:59:10 2010
@@ -17,6 +17,7 @@
  libtest-pod-perl,
  libtest-simple-perl (>= 0.94),
  libuniversal-require-perl,
+ libnamespace-autoclean-perl,
  perl (>= 5.10) | libfile-temp-perl,
  perl (>= 5.10.1) | libfile-path-perl
 Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
@@ -40,6 +41,7 @@
  liblingua-en-inflect-number-perl,
  liblingua-en-inflect-perl,
  libuniversal-require-perl,
+ libnamespace-autoclean-perl,
  perl (>= 5.10) | libfile-temp-perl,
  perl (>= 5.10.1) | libfile-path-perl
 Description: module to automate definition of a DBIx::Class::Schema

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader.pm Mon Feb 15 22:59:10 2010
@@ -10,7 +10,7 @@
 # Always remember to do all digits for the version even if they're 0
 # i.e. first release of 0.XX *must* be 0.XX000. This avoids fBSD ports
 # brain damage and presumably various other packaging systems too
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 __PACKAGE__->mk_group_accessors('inherited', qw/
                                 _loader_args
@@ -493,6 +493,10 @@
 
 acmoore: Andrew Moore <amoore at cpan.org>
 
+bphillips: Brian Phillips <bphillips at cpan.org>
+
+schwern: Michael G. Schwern <mschwern at cpan.org>
+
 ... and lots of other folks. If we forgot you, please write the current
 maintainer or RT.
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/Base.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/Base.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/Base.pm Mon Feb 15 22:59:10 2010
@@ -14,9 +14,10 @@
 use Lingua::EN::Inflect::Number qw//;
 use File::Temp qw//;
 use Class::Unload;
+use Class::Inspector ();
 require DBIx::Class;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 __PACKAGE__->mk_group_ro_accessors('simple', qw/
                                 schema
@@ -386,7 +387,12 @@
 
 =cut
 
-use constant CURRENT_V => 'v5';
+use constant CURRENT_V  => 'v5';
+
+use constant CLASS_ARGS => qw(
+    schema_base_class result_base_class additional_base_classes
+    left_base_classes additional_classes components resultset_components
+);
 
 # ensure that a peice of object data is a valid arrayref, creating
 # an empty one or encapsulating whatever's there.
@@ -420,6 +426,8 @@
                                components
                                resultset_components
                               /);
+
+    $self->_validate_class_args;
 
     push(@{$self->{components}}, 'ResultSetManager')
         if @{$self->{resultset_components}};
@@ -596,6 +604,34 @@
     close $fh;
 }
 
+sub _validate_class_args {
+    my $self = shift;
+    my $args = shift;
+    
+    foreach my $k (CLASS_ARGS) {
+        next unless $self->$k;
+
+        my @classes = ref $self->$k eq 'ARRAY' ? @{ $self->$k } : $self->$k;
+        foreach my $c (@classes) {
+            # components default to being under the DBIx::Class namespace unless they
+            # are preceeded with a '+'
+            if ( $k =~ m/components$/ && $c !~ s/^\+// ) {
+                $c = 'DBIx::Class::' . $c;
+            }
+
+            # 1 == installed, 0 == not installed, undef == invalid classname
+            my $installed = Class::Inspector->installed($c);
+            if ( defined($installed) ) {
+                if ( $installed == 0 ) {
+                    croak qq/$c, as specified in the loader option "$k", is not installed/;
+                }
+            } else {
+                croak qq/$c, as specified in the loader option "$k", is an invalid class name/;
+            }
+        }
+    }
+}
+
 sub _find_file_in_inc {
     my ($self, $file) = @_;
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI.pm Mon Feb 15 22:59:10 2010
@@ -6,7 +6,7 @@
 use Class::C3;
 use Carp::Clan qw/^DBIx::Class/;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Component/QuotedDefault.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Component/QuotedDefault.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Component/QuotedDefault.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Component/QuotedDefault.pm Mon Feb 15 22:59:10 2010
@@ -4,7 +4,7 @@
 use warnings;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm Mon Feb 15 22:59:10 2010
@@ -9,7 +9,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm Mon Feb 15 22:59:10 2010
@@ -6,7 +6,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm Mon Feb 15 22:59:10 2010
@@ -6,18 +6,15 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 
-DBIx::Class::Schema::Loader::DBI::ODBC - L<DBD::ODBC> proxy, currently only for
-Microsoft SQL Server
+DBIx::Class::Schema::Loader::DBI::ODBC - L<DBD::ODBC> proxy
 
 =head1 DESCRIPTION
 
-Reblesses into L<DBIx::Class::Schema::Loader::DBI::ODBC::Microsoft_SQL_Server>,
-which is a proxy for L<DBIx::Class::Schema::Loader::DBI::MSSQL> when using the
-L<DBD::ODBC> driver with Microsoft SQL Server.
+Reblesses into an C<::ODBC::> class when connecting via L<DBD::ODBC>.
 
 Code stolen from the L<DBIx::Class> ODBC storage.
 
@@ -27,9 +24,11 @@
 
 sub _rebless {
   my $self = shift;
-  my $dbh  = $self->schema->storage->dbh;
+
+  return if ref $self ne __PACKAGE__;
 
 # stolen from DBIC ODBC storage
+  my $dbh  = $self->schema->storage->dbh;
   my $dbtype = eval { $dbh->get_info(17) };
   unless ( $@ ) {
     # Translate the backend name into a perl identifier
@@ -40,6 +39,12 @@
         $self->_rebless;
     }
   }
+}
+
+sub _tables_list { 
+    my $self = shift;
+
+    return $self->next::method(undef, undef);
 }
 
 =head1 SEE ALSO

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm Mon Feb 15 22:59:10 2010
@@ -2,11 +2,14 @@
 
 use strict;
 use warnings;
-use base 'DBIx::Class::Schema::Loader::DBI::MSSQL';
+use base qw/
+    DBIx::Class::Schema::Loader::DBI::ODBC
+    DBIx::Class::Schema::Loader::DBI::MSSQL
+/;
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 
@@ -18,14 +21,6 @@
 Proxy for L<DBIx::Class::Schema::Loader::DBI::MSSQL> when using L<DBD::ODBC>.
 
 See L<DBIx::Class::Schema::Loader::Base> for usage information.
-
-=cut
-
-sub _tables_list { 
-    my $self = shift;
-
-    return $self->next::method(undef, undef);
-}
 
 =head1 SEE ALSO
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm Mon Feb 15 22:59:10 2010
@@ -9,7 +9,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm Mon Feb 15 22:59:10 2010
@@ -9,7 +9,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm Mon Feb 15 22:59:10 2010
@@ -10,7 +10,7 @@
 use Text::Balanced qw( extract_bracketed );
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 
@@ -66,7 +66,7 @@
     $sth->finish;
 
     # Cut "CREATE TABLE ( )" blabla...
-    $sql =~ /^[\w\s']+\((.*)\)$/si;
+    $sql =~ /^[\w\s"]+\((.*)\)$/si;
     my $cols = $1;
 
     # strip single-line comments

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm Mon Feb 15 22:59:10 2010
@@ -6,7 +6,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm Mon Feb 15 22:59:10 2010
@@ -6,7 +6,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 
@@ -69,7 +69,7 @@
     my $self   = shift;
     my $result = $self->next::method(@_);
 
-    for my $col (keys %$result) {
+    foreach my $col (keys %$result) {
         $result->{$col}->{data_type} =~ s/\s* identity \s*//ix;
     }
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm Mon Feb 15 22:59:10 2010
@@ -6,7 +6,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm Mon Feb 15 22:59:10 2010
@@ -1,7 +1,7 @@
 package DBIx::Class::Schema::Loader::DBI::Writing;
 use strict;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 # Empty. POD only.
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm Mon Feb 15 22:59:10 2010
@@ -6,7 +6,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Class::C3;
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/RelBuilder.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/RelBuilder.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/RelBuilder.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/lib/DBIx/Class/Schema/Loader/RelBuilder.pm Mon Feb 15 22:59:10 2010
@@ -6,7 +6,7 @@
 use Carp::Clan qw/^DBIx::Class/;
 use Lingua::EN::Inflect::Number ();
 
-our $VERSION = '0.05001';
+our $VERSION = '0.05002';
 
 =head1 NAME
 

Modified: trunk/libdbix-class-schema-loader-perl/t/10sqlite_common.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/t/10sqlite_common.t?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/t/10sqlite_common.t (original)
+++ trunk/libdbix-class-schema-loader-perl/t/10sqlite_common.t Mon Feb 15 22:59:10 2010
@@ -1,21 +1,42 @@
 use strict;
+use Test::More;
 use lib qw(t/lib);
 use dbixcsl_common_tests;
 
 eval { require DBD::SQLite };
 my $class = $@ ? 'SQLite2' : 'SQLite';
 
-{
-    my $tester = dbixcsl_common_tests->new(
-        vendor          => 'SQLite',
-        auto_inc_pk     => 'INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT',
-        dsn             => "dbi:$class:dbname=./t/sqlite_test",
-        user            => '',
-        password        => '',
-    );
+my $tester = dbixcsl_common_tests->new(
+    vendor          => 'SQLite',
+    auto_inc_pk     => 'INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT',
+    dsn             => "dbi:$class:dbname=./t/sqlite_test",
+    user            => '',
+    password        => '',
+    extra           => {
+        create => [
+            # 'sqlite_' is reserved, so we use 'extra_'
+            q{
+                CREATE TABLE "extra_loader_test1" (
+                    "id" NOT NULL PRIMARY KEY,
+                    "value" VARCHAR(100)
+                )
+            }
+        ],
+        drop  => [ 'extra_loader_test1' ],
+        count => 2,
+        run   => sub {
+            my ($schema, $monikers, $classes) = @_;
 
-    $tester->run_tests();
-}
+            ok ((my $rs = $schema->resultset($monikers->{extra_loader_test1})),
+                'resultset for quoted table');
+
+            is_deeply [ $rs->result_source->columns ], [ qw/id value/ ],
+                'retrieved quoted column names from quoted table';
+        },
+    },
+);
+
+$tester->run_tests();
 
 END {
     unlink './t/sqlite_test';

Modified: trunk/libdbix-class-schema-loader-perl/t/23dumpmore.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/t/23dumpmore.t?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/t/23dumpmore.t (original)
+++ trunk/libdbix-class-schema-loader-perl/t/23dumpmore.t Mon Feb 15 22:59:10 2010
@@ -26,7 +26,7 @@
     $schema_class->storage->disconnect if !$err && $schema_class->storage;
     undef *{$schema_class};
 
-    is($err, $tdata{error});
+    check_error($err, $tdata{error});
 
     return @warns;
 }
@@ -45,15 +45,38 @@
 
     # make sure our current @INC gets used by dbicdump
     use Config;
-    local $ENV{PERL5LIB} = join $Config{path_sep}, @INC, $ENV{PERL5LIB};
+    local $ENV{PERL5LIB} = join $Config{path_sep}, @INC, ($ENV{PERL5LIB} || '');
 
     my ($in, $out, $err);
     my $pid = open3($in, $out, $err, @cmd);
 
-    my @warns = <$out>;
+    my @out = <$out>;
     waitpid($pid, 0);
 
+    my ($error, @warns);
+
+    if ($? >> 8 != 0) {
+        $error = $out[0];
+        check_error($error, $tdata{error});
+    }
+    else {
+        @warns = @out;
+    }
+
     return @warns;
+}
+
+sub check_error {
+    my ($got, $expected) = @_;
+
+    return unless $got && $expected;
+
+    if (ref $expected eq 'Regexp') {
+        like $got, $expected, 'error matches expected pattern';
+        return;
+    }
+
+    is $got, $expected, 'error matches';
 }
 
 sub do_dump_test {
@@ -75,6 +98,7 @@
     my $schema_class = $tdata{classname};
     my $check_warns = $tdata{warnings};
     is(@warns, @$check_warns, "$schema_class warning count");
+
     for(my $i = 0; $i <= $#$check_warns; $i++) {
         like($warns[$i], $check_warns->[$i], "$schema_class warning $i");
     }
@@ -373,6 +397,15 @@
     },
 );
 
+do_dump_test(
+    classname => 'DBICTest::DumpMore::1',
+    options   => {
+        use_namespaces    => 1,
+        result_base_class => 'My::MissingResultBaseClass',
+    },
+    error => qr/My::MissingResultBaseClass.*is not installed/,
+);
+
 done_testing;
 
 END { rmtree($DUMP_PATH, 1, 1) unless $ENV{SCHEMA_LOADER_TESTS_NOCLEANUP} }

Modified: trunk/libdbix-class-schema-loader-perl/t/lib/dbixcsl_common_tests.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdbix-class-schema-loader-perl/t/lib/dbixcsl_common_tests.pm?rev=52852&op=diff
==============================================================================
--- trunk/libdbix-class-schema-loader-perl/t/lib/dbixcsl_common_tests.pm (original)
+++ trunk/libdbix-class-schema-loader-perl/t/lib/dbixcsl_common_tests.pm Mon Feb 15 22:59:10 2010
@@ -92,7 +92,7 @@
 
     my %loader_opts = (
         constraint              =>
-	    qr/^(?:\S+\.)?(?:$self->{vendor}_)?loader_test[0-9]+(?!.*_)/i,
+	    qr/^(?:\S+\.)?(?:(?:$self->{vendor}|extra)_)?loader_test[0-9]+(?!.*_)/i,
         relationships           => 1,
         additional_classes      => 'TestAdditional',
         additional_base_classes => 'TestAdditionalBase',
@@ -1120,7 +1120,7 @@
         qq{
             CREATE TABLE loader_test11 (
                 id11 $self->{auto_inc_pk},
-                message VARCHAR(8) DEFAULT 'foo',
+                a_message VARCHAR(8) DEFAULT 'foo',
                 loader_test10 INTEGER $self->{null},
                 FOREIGN KEY (loader_test10) REFERENCES loader_test10 (id10)
             ) $self->{innodb}
@@ -1144,7 +1144,7 @@
         qq{
             CREATE TABLE loader_test11 (
                 id11 $self->{auto_inc_pk},
-                message VARCHAR(8) DEFAULT 'foo',
+                a_message VARCHAR(8) DEFAULT 'foo',
                 loader_test10 INTEGER $self->{null},
                 FOREIGN KEY (loader_test10) REFERENCES loader_test10 (id10)
             ) $self->{innodb}




More information about the Pkg-perl-cvs-commits mailing list