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