Rafael Kitover [Wed, 17 Oct 2012 16:30:46 +0000]
WIP
Rafael Kitover [Wed, 17 Oct 2012 18:49:35 +0000]
better schemas support for SQL Server > 2000
Use schema_name() instead of user_name() on > 2000 to detect the
current schema, and query [$db].sys.schemas instead of
[$db].dbo.sysusers for schema names on > 2000.
frew has reported that schema_name() has worked better for him for users
which aren't the owners of the schema.
Rafael Kitover [Tue, 16 Oct 2012 18:45:13 +0000]
introspect ON DELETE/UPDATE for SQL Anywhere
The default seems to be RESTRICT, but it's hard to tell, because the
actions are implemented as triggers and you have to query the catalog
triggers view to get at them. At least if you specify RESTRICT there is
no trigger generated.
SQL Anywhere does not support DEFERRABLE constraints. It has something
called CHECK ON COMMIT but that does not seem to have the same full
functionality, so for now we leave is_deferrable at 1.
Rafael Kitover [Tue, 16 Oct 2012 03:00:55 +0000]
Pg _table_fk_info to use catalog not info_schema
Rewrite Pg _table_fk_info query to use the catalog views rather than the
information_schema, as a user on IRC reported that the
information_schema query does not work for readonly Pg users, but the
catalog query does work.
Rafael Kitover [Tue, 2 Oct 2012 18:41:00 +0000]
update deps on ::Phrase and ::Tagger
Update the dep on Lingua::EN::Inflect::Phrase to 0.15 which is much
improved.
Update the dep on Lingua::EN::Tagger to the newest, 0.23 because 0.20
and earlier generated a warning which made Schema::Loader tests fail
(unescaped braces in regex) in perls version 5.17+.
Rafael Kitover [Mon, 10 Sep 2012 14:23:18 +0000]
add rel_type param for relationship_attrs coderef
Forgot to pass some sort of param for the rel type for the
relationship_attrs coderef, adding 'rel_type' with the value
'belongs_to', 'has_many' or 'might_have'.
Add tests to 45relationships.t and doc in ::Base POD.
Rafael Kitover [Sun, 9 Sep 2012 16:12:23 +0000]
release 0.07033
Rafael Kitover [Sun, 9 Sep 2012 16:09:28 +0000]
add a loud warning to Makefile.PL about rel attrs
Print a big boxed warning when running Makefile.PL (e.g. when installing
via CPAN) about the changes to belongs_to relationship attributes in the
last few revisions at the prompting of mst.
Rafael Kitover [Sun, 9 Sep 2012 15:09:19 +0000]
expand relationship_attrs POD
Explain the defaults for relationship attributes, how they are
overridden by the actual database values for foreign keys and can be
overridden by the user via this attribute.
Also explain how defaults are chosen for different databases for
belongs_to rels.
Rafael Kitover [Sun, 9 Sep 2012 13:18:00 +0000]
release 0.07032
Rafael Kitover [Sun, 9 Sep 2012 13:12:08 +0000]
detect inline deferrable FKs for SQLite
The previous attempt to detect DEFERRABLE on FKs only detected for
FOREIGN KEY clauses in DDL, not for inline constraints such as:
int foo references bar(id) deferrable
add code and tests to detect inline FKs as well.
Rafael Kitover [Sun, 9 Sep 2012 01:26:38 +0000]
support coderef for relationship_attrs
Add support for passing a coderef as relationship_attrs and describe
thorougly in the ::Base POD (as well as improve the existing POD for
it.)
This is the list of parameters:
* rel_name
* local_source
* remote_source
* local_table
* local_cols
* remote_table
* remote_cols
* attrs
The hash is passed as a list, not as a hashref.
The coderef must return a hashref of attributes or nothing.
This is thoroughly tested in t/45relationships.t.
I had to add a fallback => 1 to the DBObject.pm stringification
overload, so that eq would work, and this makes the stringification much
more functional.
Rafael Kitover [Thu, 6 Sep 2012 16:39:17 +0000]
author dep on POD test modules, check in 02pod.t
Use ::Optional::Dependencies for POD testing modules, so that they are
author deps and the minimum required version of Pod::Simple (3.22, which
checks that the correct =encoding is set) is also used.
Rafael Kitover [Thu, 6 Sep 2012 16:04:13 +0000]
change =encoding utf8 to =encoding UTF-8 in Loader
I didn't know why 02pod.t was erroneously passing for me, ilmari pointed
out that my Pod::Simple was out of date, and I needed at least 3.21.
Upgrading Pod::Simple caused 02pod.t to produce the fail when the
=encoding directive was missing.
I like using the UTF-8 encoding rather than the more lax utf8 encoding,
so change it now that I can properly test it out.
Rafael Kitover [Thu, 6 Sep 2012 15:10:13 +0000]
release 0.07031
Rafael Kitover [Thu, 6 Sep 2012 14:56:49 +0000]
fix 02pod.t fail for lack of =encoding (RT#79481)
Users report 02pod.t failing due to a UTF-8 character without an
=encoding utf8 statement (arcanez and Marcel Gruenauer.)
For some reason this test passes on my machine, even though I have the
latest Test::Pod.
Marcel Gruenauer sent me a patch to RT which adds the =encoding utf8
statement at the top of the POD, which I added.
I want to use =encoding UTF-8 instead, since that's more correct, but
since I can't test it will leave utf8.
Rafael Kitover [Thu, 6 Sep 2012 03:30:53 +0000]
release 0.07030
André Walker [Thu, 6 Sep 2012 02:43:07 +0000]
allow user to set qualify_objects to false
The qualify_objects attribute in the DBIx::Class::Schema::Loader::Base
was automatically set to true when there were multiple db_schema's, even
if the user explicitly set it to false. This changes that behaviour,
allowing more flexibility on prefixing the names.
Rafael Kitover [Wed, 5 Sep 2012 16:43:45 +0000]
release 0.07029
Rafael Kitover [Mon, 3 Sep 2012 19:36:09 +0000]
introspect ON DELETE and DEFERRABLE for Oracle
Oracle has no ON UPDATE rules, so change the default to NO ACTION so
that users have no surprises when deploying an Oracle schema to SQLite
etc.
Add support to the generic ::Loader::DBI::_table_fk_info for
introspecting ON DELETE/UPDATE rules and DEFERRABLE clauses, as much as
the DBD supports it.
For Oracle I had to get the DEFERRABLE value manually in an override, as
well as making sure the on_update was set, as the Oracle driver uses the
::Loader::DBI method.
Rafael Kitover [Mon, 3 Sep 2012 17:06:47 +0000]
introspect ON DELETE/UPDATE FK clauses for DB2
is_deferrable still defaults to 1 because DB2 does not have deferrable
FKs. At some point we will try to implement with_deferred_fk_checks for
DB2 in DBIC.
Rafael Kitover [Sun, 2 Sep 2012 21:29:01 +0000]
introspect ON/DEFERRABLE FK clauses for SQLite
The ON clauses are simple to get, pragma foreign_key_list returns them,
but for the DEFERRABLE clause we have to parse the table DDL from
sqlite_master, a bit hairy but should be correct.
Rafael Kitover [Thu, 30 Aug 2012 05:33:55 +0000]
release 0.07028
Rafael Kitover [Thu, 30 Aug 2012 05:24:50 +0000]
bump Lingua::EN::Tagger dep to 0.20
Lingua::EN::Tagger before 0.20 had some unescaped curly braces in
regexes, this produces a warning on perl 5.17+ which breaks our tests.
Rafael Kitover [Thu, 30 Aug 2012 05:20:53 +0000]
FK ON clause introspection for MSSQL
Augment the _table_fk_info code which uses information_schema to get the
delete_rule and update_rule, similarly to how it was done for
PostgreSQL. MSSQL does not have DEFERRABLE, but it has a way to disable
FK constraints on a table temporarily, which we will implement for
$storage->with_deferred_fk_checks for MSSQL in DBIC. For this reason,
is_deferrable still defaults to 1 for MSSQL.
Rafael Kitover [Wed, 29 Aug 2012 16:18:03 +0000]
minor optimization for Pg FK attrs, better test
Set the FK attributes in Pg _table_fk_info only once instead of once for
each column.
Also test DEFERRABLE being on instead of off, since it defaults to off.
Rafael Kitover [Sun, 26 Aug 2012 22:41:06 +0000]
release 0.07027
Rafael Kitover [Sun, 26 Aug 2012 22:35:23 +0000]
introspect ON DELETE/UPDATE and DEFERRABLE for pg
Apparently Pg has an information_schema, so I copied the _table_fk_info
from the MSSQL driver and modified it to introspect the ON and
DEFERRABLE clauses.
I will add this introspection for MSSQL shortly as well, after which I
will remove the duplication from these two drivers and add an
InformationSchema component.
Rafael Kitover [Sun, 26 Aug 2012 01:03:08 +0000]
release 0.07026
Rafael Kitover [Tue, 21 Aug 2012 23:23:15 +0000]
introspect ON DELETE/UPDATE clauses for MySQL FKs
The default for these has been CASCADE for a while now, the idea was
that this is the most useful default for deployed schemas and it would
be replaced with the actual introspected value when this capability
would be added.
A user wrote in to RT that this capability was missing for MySQL so I
decided to start on adding it, with MySQL first.
This means that for MySQL the default for on_delete/on_update is now
RESTRICT rather than CASCADE, and this will probably soon be true for
other backends that support these clauses.
Also there are some whitespace changes in this commit due to some
cleanup autocommands I put into my .vimrc, read it with git diff -w.
Rafael Kitover [Thu, 14 Jun 2012 17:01:47 +0000]
update rbuels' email address in CONTRIBUTORS
Rafael Kitover [Fri, 8 Jun 2012 23:15:14 +0000]
release 0.07025
SineSwiper [Tue, 5 Jun 2012 01:27:13 +0000]
support MSSQL 2000 again, optimization for MSSQL
multischema support broke compatibility with SQL Server 2000 in 0.07011,
because system tables were used to find identity columns, and system
tables changed between 2000 and 2005.
We now check the SQL Server version and use a different query for 2000
and later versions.
Also optimize columns_info_for to use one query for the whole table,
instead of doing two separate queries for each column.
Rafael Kitover [Tue, 8 May 2012 15:36:15 +0000]
release 0.07024
Rafael Kitover [Tue, 8 May 2012 15:30:45 +0000]
work around broken kseq in Pg fk info (RT#77062)
The keyseqs from $dbh->foreign_key_info from DBD::Pg were erroneously
high, and since they are used as an array index, they were causing the
fk_info to return undefs and break everything.
Add a grep defined, to the column arrays in fk_info which fixes
everything.
Rafael Kitover [Sat, 5 May 2012 11:53:29 +0000]
release 0.07023
SineSwiper [Fri, 4 May 2012 21:44:15 +0000]
fix base ::DBI loader to properly order FK columns
Rafael Kitover [Sun, 8 Apr 2012 12:44:15 +0000]
bump up Class::Inspector dep for blead (RT#74236)
Rafael Kitover [Sun, 8 Apr 2012 12:24:14 +0000]
release 0.07022
Paul C. Mantz [Tue, 24 Jan 2012 22:53:02 +0000]
separate queries for default on ASE (RT#74170)
Some Sybase ASE servers apparently cannot LEFT JOIN to the syscomments
table to get the default_value, so do the query separately.
Also combine the data_type/len/prec. and is_identity queries.
Rafael Kitover [Sat, 7 Apr 2012 18:22:29 +0000]
set correct size for n(var)?char columns for ASE
Based on @@ncharsize.
Rafael Kitover [Sat, 7 Apr 2012 17:47:19 +0000]
make common tests use fewer active statements
Newer versions of the Sybase ASE developer's edition have a limit of 25
user connections and do not allow setting it higher, this did not
support the common tests.
Change the ->first calls on ResultSets to ->single to not keep active
statements around.
The common tests now run against the latest version of Sybase ASE
developer's edition.
Rafael Kitover [Fri, 6 Apr 2012 16:08:39 +0000]
support Informix common tests over shared mem
Support the default Informix connections over shared memory rather than
TCP for running the common tests, including the extra tests.
Shared memory connections have the limitation that a process may only
open one connection to the DB server at a time.
Also fix the t/lib/dbixcsl_common_tests.pm to work with only one
database connection at a time.
Rafael Kitover [Wed, 4 Apr 2012 23:57:57 +0000]
release 0.07021
Rafael Kitover [Wed, 4 Apr 2012 23:25:11 +0000]
register sources on schema class, never instance
Change _invoke_loader in Loader.pm to always invoke the loader on the
Schema class, never the instance, even if an instance is passed in, and
then merge the state of the class into the instance if necessary.
Fix up a couple of tests to work with this new logic.
Also change make_schema_at to use ->connect instead of ->connection
because of people relying on instance state in ->connection (RT#74175),
being careful to copy the storage back to the Schema class.
Rafael Kitover [Mon, 2 Apr 2012 01:41:29 +0000]
release 0.07020
Rafael Kitover [Fri, 30 Mar 2012 17:51:43 +0000]
fix mro issues under 5.8
Add a Class::C3::reinitialize() under 5.8 after the ::DBI ->_rebless.
Also make sure MRO::Compat is loaded everywhere it needs to be and
everything does a use mro 'c3';.
Rafael Kitover [Thu, 29 Mar 2012 01:50:47 +0000]
release 0.07019
Also remove a leftover ->_lc call in ::DBI::_columns_info_for that was
screwing things up.
Rafael Kitover [Wed, 28 Mar 2012 00:16:08 +0000]
audit drivers for case issues (RT#75805)
Add missing ->_lc calls to MSSQL driver in _table_pk_info and
_table_fk_info, and rework use of column name in queries in
_columns_info_for based on the value of _preserve_case. This fixes the
RT in question, as tested with the DDL provided by the reporter.
Fix collation detection in MSSQL driver when in a database other than
master by changing 'sys.databases' to '[$db].sys.databases' and doing a
"use [$db]" beforehand (with a warning silencing fixup for ADO.)
Check for collisions of columns like 'Foo' and 'fOO' in preserve_case=0
mode in ::DBI::_columns_info_for and throw an exception if detected.
UNRELATED CLEANUP: Remove warning fixups for _table_comment and
_column_comment from Access and MSSQL ADO drivers as we now check for
the existance of the comment tables.
Add missing ->_lc call in Pg _table_uniq_info, which was only for very
old versions of DBD::Pg anyway.
In _columns_info_for in the SQL Anywhere driver, fold the column names in
queries to lower case, as SQL Anywhere is case preserving, but not case
sensitive.
In _columns_info_for in the SQLite driver, map the column names from the
table_info pragma to the ->_lc versions.
Fold column names to lowercase in the mysql driver's _columns_info_for
as MySQL is case preserving but not case sensitive for column names.
Rafael Kitover [Tue, 27 Mar 2012 06:53:16 +0000]
release 0.07018
Rafael Kitover [Sun, 25 Mar 2012 20:14:33 +0000]
skip dbicdump tests on Win32 due to test fails
t/23dumpmore.t and t/26dump_use_moose.t fail on Win32 with some types of
refs and characters in -o params to dbicdump because of quoting issues.
There is currently no module like String::ShellQuote for Win32, haarg is
releasing Win32::ShellQuote soon, and then I will reenable these tests.
Also the fucking pigs completely fucked up my windows computer and when
I was trying to run some tests with dbicdump I got constant perl hangs,
so I cannot debug this right now and I disabled ALL dbicdump tests on
Win32.
I removed the reference to the FUCKING_PIGS environment variable
because, at least, the behavior of the tests is now at least consistent
with that of other machines, or was, except for the perl hangs I'm
getting now, and because I'm making this skip for all dbicdump tests,
not just those with refs so it is in the same part of the code, so might
as well.
Rafael Kitover [Tue, 27 Mar 2012 05:39:41 +0000]
Changes entry for "fix undef warn in fk info"
Rafael Kitover [Wed, 14 Mar 2012 18:10:26 +0000]
fix undef warn in fk info for DBDs without schemas
SineSwiper reported an undef warning from ::DBI in _table_fk_info
because of an s/// substitution on the schema values extracted from
$dbh->foreign_key_info, which can be undef for DBDs which do not have
the concept of schemas.
Change the substitution to only run if the values are defined.
Rafael Kitover [Fri, 30 Dec 2011 19:48:08 +0000]
work around ORA-24345 from $dbh->column_info
jhannah reported getting ORA-24345: A Truncation or null fetch error
occurred (DBD ERROR: ORA-01406 error on field 13 of 18, ora_type 8,
LongReadLen too small and/or LongTruncOk not set)
on running the loader on a table with a very long DEFAULT of
"to_number(decode(substrb(userenv('CLIENT_INFO'),1,1),' ',
null,substrb(userenv('CLIENT_INFO'),1,10)))"
The fix is simply setting $dbh->{LongReadLen} in the _dbh_column_info
override for ::DBI::Oracle, but also make it work without the setting by
making the code involved much more robust.
Change Loader/DBI to fall back to the non-column_info code (that does a
SELECT ... WHERE 1=0 and examines the $sth) when $dbh->column_info
fails in _columns_info_for, and wrap the fetchrow_hashref in a try {}
catch { +{} }; then skip columns where fetchrow_hashref fails and fill
them in from the WHERE 1=0 type_info code.
Also use this method instead of $dbh->column_info in Loader/DBI/Oracle
_table_columns by removing the overloaded method and using the
Loader/DBI implementation.
While there, clean up the _table_columns implementation in Loader/DBI to
use $self->_lc insetad of $sth->{NAME_lc} for consistency and
overridability.
Make the ::DBI::Oracle _columns_info_for pass all tests with both the
$dbh->column_info output and the type_info output from the parent ::DBI.
Rafael Kitover [Fri, 10 Feb 2012 06:07:24 +0000]
fix spelling mistake in Base POD (RT#74796)
Rafael Kitover [Tue, 7 Feb 2012 17:08:28 +0000]
release 0.07017
Rafael Kitover [Tue, 7 Feb 2012 00:31:42 +0000]
experimental support for Pg loader run inside txn
To get this to work, there must not be any database errors thrown. So we
cannot use our usual technique of selecting from nonexistant tables and
throwing away the errors.
To that end, _table_comment and _column_comment in ::Loader::DBI now
check for the tables in $self->_tables before doing a query on them.
jnap added a test to the common tests in a previous commit which I
augment here to be $TODO for DBs other than Pg and to throw away the
usual rescan warnings.
There is also a warning for 'commit ineffective with AutoCommit enabled'
which we also throw away and is more worrisome, and will need further
attention, and is one of the reason this support is marked experimental.
That and this test failing for SQLite as well as some other DBs.
John Napiorkowski [Mon, 6 Feb 2012 19:13:50 +0000]
failing test for dumping schema inside a txn
John Napiorkowski [Mon, 6 Feb 2012 19:12:41 +0000]
add files created by Mac OS X to .gitignore
Rafael Kitover [Sun, 22 Jan 2012 19:13:53 +0000]
add SineSwiper to CONTRIBUTORS
Peter Rabbitson [Thu, 19 Jan 2012 10:29:04 +0000]
Ignore metas
Brendan Byrd [Mon, 9 Jan 2012 14:28:29 +0000]
Fix minor $dbh var adjustments
Brendan Byrd [Fri, 6 Jan 2012 23:30:42 +0000]
Add support for REMARKS in *_info to use for *_comments
Brendan Byrd [Thu, 5 Jan 2012 21:12:04 +0000]
Change all for@ loops to safer foreach loops (Base.pm)
Change all for@ loops to safer foreach loops that don't clobber $_
(and thus @tables) because non-DCSL::DBI::* DBDs fail on
_setup_src_meta.
Rafael Kitover [Fri, 9 Dec 2011 12:25:14 +0000]
release 0.07015
Rafael Kitover [Fri, 9 Dec 2011 08:57:51 +0000]
many_to_many rel bridge generation for link tables
For tables that have 2 FKs whose only columns are members of the FKs,
and having all columns in the PK, many_to_many relationship bridges are
now generated for the referred to classes.
Rafael Kitover [Fri, 18 Nov 2011 17:53:22 +0000]
release 0.07014
Rafael Kitover [Fri, 18 Nov 2011 17:03:24 +0000]
make copy of moniker_parts in disambiguation code
The local $self->{moniker_parts} code did not make a copy of
$self->moniker_parts before unshifting to it, so modifications were made
to the original reference, breaking ->rescan.
Rafael Kitover [Fri, 18 Nov 2011 00:00:53 +0000]
release 0.07013
Rafael Kitover [Thu, 17 Nov 2011 23:08:11 +0000]
add notes about table object stringify to name
Add notes to the POD for callbacks that the table object parameter
stringifies to the unqualified table name, also add a note to the
::Table POD.
Rafael Kitover [Thu, 17 Nov 2011 21:03:06 +0000]
auto-disambiguate monikers from different schemas
Automatically prefix schema and/or database to clashing monikers for the
same table name from different schemas/databases.
Update docs to reflect this behavior.
Also rewrite all the multischema tests to use this new feature instead
of explicit moniker_parts.
Rafael Kitover [Wed, 9 Nov 2011 15:19:28 +0000]
release 0.07012
Rafael Kitover [Wed, 9 Nov 2011 15:11:32 +0000]
update docs for callbacks receiving table objects
Update docs for callbacks like custom_column_info to say that they now
receive a table object (e.g. ::Loader::Table) rather than the table
name (RT##72260).
Rafael Kitover [Wed, 9 Nov 2011 14:43:40 +0000]
update SEE ALSO section of Loader.pm
Add links to Intro, Tutorial and Loader::Base.
Rafael Kitover [Wed, 9 Nov 2011 14:29:55 +0000]
better cleanup of t/var
Add an END action in t/lib/dbixcsl_test_dir.pm to delete t/var, first
closing any open DBI handles because if there is an open SQLite handle
to a .db file in that dir, the .db file cannot be removed on Win32. Also
copy the file to t/backcompat/0.04006/lib/dbixcsl_test_dir.pm.
Also add t/var to MANIFEST.SKIP just in case.
Rafael Kitover [Wed, 9 Nov 2011 02:33:46 +0000]
fix code running 2x in dynamic schema_base_class
Fix a bug that ran the connection method in
schema_base_class/schema_components twice on the second connect, with
tests.
Move the RelBuilder _array_eq method to an array_eq sub in Utils.
Rafael Kitover [Tue, 8 Nov 2011 15:43:48 +0000]
use temp file instead of IPC::Open2 for Win32
Change implementation of filter_generated_code with a string for program
name from IPC::Open2 to File::Temp with redirection, because this code
was hanging on Win32 (RT#72226).
Rafael Kitover [Tue, 1 Nov 2011 12:41:10 +0000]
add correction to Changes for wrong RT#
uniq_to_primary option fixes RT#51696, not RT#25944.
Rafael Kitover [Tue, 1 Nov 2011 10:54:30 +0000]
release 0.07011
Rafael Kitover [Tue, 1 Nov 2011 01:52:59 +0000]
fix some warnings for MSSQL over ADO
Fix invalid object warnings for nonexistant table/comment tables, and
"Changed context" warnings for the extra database tests.
Rafael Kitover [Mon, 31 Oct 2011 13:50:43 +0000]
add -I option to dbicdump
Add an -I option to dbicdump to add things to @INC during the dump, like
perl's -I option (see perldoc perlrun.)
For the config file dbicdump format, add the 'lib' key that is the
equivalent of the -I option.
Add error checking to ::Utils slurp_file and write_file subs in the open
calls.
Add alnewkirk to list of CONTRIBUTORS for dbicdump.
Rafael Kitover [Mon, 31 Oct 2011 09:55:08 +0000]
remove duplicate from Changes
Rafael Kitover [Sun, 30 Oct 2011 00:40:04 +0000]
stop editing custom content from renamed files
Remove an unnecessary bit of cleverness that was removing the default
custom content comment (# You can replace...) from files that are being
renamed for an upgrade (either to singularization or use_namespaces.)
This fixes RT#70507.
Rafael Kitover [Sat, 29 Oct 2011 20:26:05 +0000]
add attribution for alnewkirk, mention force_ascii
Add attribution for the dbicdump config file support for alnewkirk in
Changes and add his handle in ::Loader CONTRIBUTORS section.
Add naming => { force_ascii => 1 } to Changes as well.
Rafael Kitover [Sat, 29 Oct 2011 18:22:25 +0000]
update Changes with MooseX::MarkAsMethods
Rafael Kitover [Sat, 29 Oct 2011 18:18:54 +0000]
update Changes for naming=v8
Rafael Kitover [Sat, 29 Oct 2011 18:08:53 +0000]
common tests for schema_base_class and components
Test calling schema_components methods and test schema_base_class in the
common tests.
Rafael Kitover [Sat, 29 Oct 2011 17:29:27 +0000]
better CamelCASE support for naming=v8
The previous method of splitting CamelCase identifiers did not work
identifiers containing words in all caps, such as 'VLANValidID'.
Use 'wordsplit' from String::CamelCase which handles these types of
identifiers correctly for naming=v8 mode, while preserving the old
behavior for v7 mode for monikers, column accessors and relationship
names.
New features related to multischema support also use the v8 mode
implicitly.
Add t/80split_name.t to test the 'split_name' utility sub from ::Utils,
at the heart of this change; for both v8 and v7 modes.
Rafael Kitover [Sat, 29 Oct 2011 08:59:40 +0000]
update use_moose docs and opt deps
Add namespace::autoclean as an optional dep for use_moose. Even though
it is a dependency of MooseX::MarkAsMethods, we want to list it
explicitly.
Update use_moose and only_autoclean POD to say that the overloads being
protected are operator overloads.
Chris Weyl [Sun, 2 Oct 2011 02:38:52 +0000]
namespace::autoclean to MooseX::MarkAsMethods
Use MooseX::MarkAsMethods with autoclean => 1 instead of
namespace::autoclean for the use_moose option, to protect operator
overloads.
Add an only_autoclean option to use namespace::autoclean as before.
Rafael Kitover [Sat, 29 Oct 2011 08:26:33 +0000]
fix some naming version checks
Previous code didn't take into account that naming->{key} can be set to
something other than vX.
Fix a call to ->_to_identifier in the monikerization code.
t/23dumpmore.t passes again.
Rafael Kitover [Fri, 28 Oct 2011 23:11:28 +0000]
fix double backcompat warning
Set naming and use_namespaces in the temp loader used in ::Loader to get
the schema_base_class and schema_components so that no backcompat check
is done and warning isn't issued.
Rafael Kitover [Fri, 28 Oct 2011 17:05:25 +0000]
fix uninitialized warning
Change the temporary loader used to extract the schema_base_class and
schema_components to be created with the schema => $self arg, so the
constructor (and _check_back_compat) can read the Schema.pm.
Rafael Kitover [Fri, 28 Oct 2011 16:46:01 +0000]
update Changes with schema_base_class fix
Rafael Kitover [Fri, 28 Oct 2011 16:43:41 +0000]
better dynamic schema_base_class implementation
Remove the restriction that dynamic schemas can't define a connection
method by finding the next method to call in mro::get_linear_isa.
Rafael Kitover [Tue, 25 Oct 2011 20:56:48 +0000]
use connection hack only for schema_base_class
Use the horrible mro hack in ::Loader::connection only if
schema_base_class and/or schema_components were defined.
Add warnings to the POD for these options that dynamic schemas cannot
define a connection method.
Rafael Kitover [Tue, 25 Oct 2011 19:58:23 +0000]
bump String::ToIdentifier::EN dep to 0.05
0.04 has some horrible bugs, this is the first version that works
reasonably well.
Rafael Kitover [Tue, 25 Oct 2011 10:55:39 +0000]
implement schema_base_class for dynamic schemas
Implement schema_base_class and schema_components support for dynamic
schemas at 'connection' time.
Augment btilly's test to check that schema_components are also applied
at 'connection' time.
This requires a rather horrible hack in ::Loader::connection, because
mro cannot normally deal with a changing @ISA inside of a call chain,
but it works.
Ben Tilly [Sat, 9 Jul 2011 19:24:57 +0000]
test for connecting through schema_base_class
Add test for applying schema_base_class to dynamic schemas at
'connection' time.
Rafael Kitover [Tue, 25 Oct 2011 11:12:42 +0000]
update DBIx::Class::Schema::Loader POD
Update list of supported DBDs and minimum necessary DBIx::Class version.
Remove the admonition that this module is for simple situations only.
Add link to ::Loader::Base for options.