[Bast-commits] r7267 - in DBIx-Class/0.08/trunk: . lib/DBIx/Class lib/DBIx/Class/Manual lib/DBIx/Class/ResultSourceProxy lib/DBIx/Class/SQLAHacks lib/DBIx/Class/Storage/DBI lib/SQL/Translator/Parser/DBIx t t/lib/DBICTest/Schema

ribasushi at dev.catalyst.perl.org ribasushi at dev.catalyst.perl.org
Sat Aug 8 22:34:34 GMT 2009


Author: ribasushi
Date: 2009-08-08 22:34:31 +0000 (Sat, 08 Aug 2009)
New Revision: 7267

Modified:
   DBIx-Class/0.08/trunk/
   DBIx-Class/0.08/trunk/lib/DBIx/Class/Manual/Cookbook.pod
   DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSource.pm
   DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSourceProxy/Table.pm
   DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks.pm
   DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks/MySQL.pm
   DBIx-Class/0.08/trunk/lib/DBIx/Class/Storage/DBI/Pg.pm
   DBIx-Class/0.08/trunk/lib/SQL/Translator/Parser/DBIx/Class.pm
   DBIx-Class/0.08/trunk/t/19quotes.t
   DBIx-Class/0.08/trunk/t/19quotes_newstyle.t
   DBIx-Class/0.08/trunk/t/76select.t
   DBIx-Class/0.08/trunk/t/99dbic_sqlt_parser.t
   DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CD.pm
   DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CustomSql.pm
Log:
 r6822 at Thesaurus (orig r6821):  caelum | 2009-06-28 14:38:12 +0200
 branch
 r6825 at Thesaurus (orig r6824):  caelum | 2009-06-28 14:40:37 +0200
 ->table(\"table")
 r6827 at Thesaurus (orig r6826):  caelum | 2009-06-28 14:55:06 +0200
 revert
 r6829 at Thesaurus (orig r6828):  caelum | 2009-06-28 15:57:40 +0200
  r5742 at hlagh (orig r6819):  ribasushi | 2009-06-28 04:00:03 -0700
  The prefetch+group_by is a complex problem - branch
 
 r6834 at Thesaurus (orig r6833):  caelum | 2009-06-28 23:24:47 +0200
 ->table(\"foo") now works
 r6835 at Thesaurus (orig r6834):  caelum | 2009-06-29 03:54:31 +0200
 another test
 r6849 at Thesaurus (orig r6848):  caelum | 2009-06-29 21:39:26 +0200
 separated table ref test out, changed CDTableRef to a view with less rels
 r6852 at Thesaurus (orig r6851):  caelum | 2009-06-29 22:56:45 +0200
 changed CD to ->table(\"cd")
 r6853 at Thesaurus (orig r6852):  caelum | 2009-06-29 23:13:48 +0200
 fix t/80unique.t
 r6857 at Thesaurus (orig r6856):  caelum | 2009-06-29 23:45:19 +0200
 branch pushed, removing
 r6858 at Thesaurus (orig r6857):  caelum | 2009-06-29 23:46:54 +0200
 removing debug statement
 r6860 at Thesaurus (orig r6859):  ribasushi | 2009-06-30 00:03:21 +0200
 Minor fixes
 r6861 at Thesaurus (orig r6860):  ribasushi | 2009-06-30 00:25:27 +0200
 This is sloppy, but sqlt is sloppy too. All tests pass now, all we really need is to intercept name() set-calls, and use a virtual view (the only legit setter is the new() call in ResultSourceProxy::Table
 r6867 at Thesaurus (orig r6866):  caelum | 2009-06-30 03:34:02 +0200
 forgot to use Scalar::Util ()
 r7007 at Thesaurus (orig r7006):  caelum | 2009-07-09 07:37:22 +0200
  r5766 at hlagh (orig r6843):  abraxxa | 2009-06-29 02:02:17 -0700
  fixed typo in test
  
  r5779 at hlagh (orig r6847):  ribasushi | 2009-06-29 10:09:00 -0700
  Minor Ordered optimization (don't use count)
  r5787 at hlagh (orig r6855):  caelum | 2009-06-29 14:42:11 -0700
   r5451 at hlagh (orig r6605):  caelum | 2009-06-10 09:23:44 -0700
   new branch to implement on_connect_call
   r5484 at hlagh (orig r6633):  caelum | 2009-06-11 11:03:10 -0700
   on_connect_call implementation and set_datetime_format support for Oracle
   r5492 at hlagh (orig r6641):  caelum | 2009-06-11 16:39:28 -0700
   connect_call_set_datetime_format for Oracle, I have no idea why this didn't get committed before...
   r5504 at hlagh (orig r6655):  caelum | 2009-06-12 17:28:06 -0700
   finished up on_connect_call stuff
   r5507 at hlagh (orig r6658):  caelum | 2009-06-13 04:03:36 -0700
   fixup _setup_connect_do, other minor cleanups
   r5508 at hlagh (orig r6659):  caelum | 2009-06-13 04:35:33 -0700
   make the on_(dis)?connect_do accessors returnn the original structure
   r5509 at hlagh (orig r6660):  caelum | 2009-06-13 08:31:52 -0700
   allow undef for _setup_connect_do
   r5522 at hlagh (orig r6679):  caelum | 2009-06-14 09:56:40 -0700
   rename connect_do store
   r5621 at hlagh (orig r6769):  caelum | 2009-06-23 07:38:33 -0700
   minor doc update
   r5628 at hlagh (orig r6777):  caelum | 2009-06-23 16:36:12 -0700
   properly test nanosecond precision with oracle and datetime_setup
   r5669 at hlagh (orig r6784):  caelum | 2009-06-24 10:49:25 -0700
   IC::DT does support timestamp with timezone
   r5768 at hlagh (orig r6846):  caelum | 2009-06-29 08:20:32 -0700
   remove DateTime from 73oracle.t
   r5781 at hlagh (orig r6849):  caelum | 2009-06-29 13:07:43 -0700
   remove the _store stuff for on_connect_do
   r5785 at hlagh (orig r6853):  ribasushi | 2009-06-29 14:38:30 -0700
   Some beautification
  
  r5802 at hlagh (orig r6870):  ribasushi | 2009-06-30 01:09:03 -0700
  Cleanup dependency handling a bit
  r5806 at hlagh (orig r6874):  ribasushi | 2009-06-30 03:39:06 -0700
  Allow broken resultsource-class-derived objects to still work
  r5807 at hlagh (orig r6875):  ribasushi | 2009-06-30 03:40:46 -0700
  clarify
  r5835 at hlagh (orig r6877):  ash | 2009-06-30 04:48:13 -0700
  Update POD on Dynamic sub-classing
  
  r5837 at hlagh (orig r6882):  ribasushi | 2009-06-30 08:36:38 -0700
   r6815 at Thesaurus (orig r6814):  ribasushi | 2009-06-28 10:32:42 +0200
   Branch to explore double joins on search_related
   r6816 at Thesaurus (orig r6815):  ribasushi | 2009-06-28 10:34:16 +0200
   Thetest case that started it all
   r6817 at Thesaurus (orig r6816):  ribasushi | 2009-06-28 10:35:11 +0200
   The proposed fix (do not add an extra join if it is already present in the topmost join)
   r6818 at Thesaurus (orig r6817):  ribasushi | 2009-06-28 11:04:26 +0200
   Minor omission
   r6819 at Thesaurus (orig r6818):  ribasushi | 2009-06-28 11:07:33 +0200
   Adjust a couple of tests for new behavior (thus all of this might be backwards incompatible to the point of being useless):
   The counts in t/90join_torture.t are now 5*3, not 5*3*3, as a second join is not induced by search_related
   The raw sql scan in t/prefetch/standard.t is just silly, won't even try to understand it
   Just to maintain the TreeLike folding, I add a 3rd children join which was inserted by search_related before the code changes
  
  r5843 at hlagh (orig r6888):  ribasushi | 2009-06-30 10:36:11 -0700
  Todoify test for now
  r5844 at hlagh (orig r6889):  ribasushi | 2009-06-30 10:37:05 -0700
  Todoify test for now (2)
  r5846 at hlagh (orig r6891):  ribasushi | 2009-06-30 10:52:31 -0700
  Todoify test for now (3)
  r5850 at hlagh (orig r6902):  ribasushi | 2009-06-30 23:46:12 -0700
  Fixed deadlock test
  r5851 at hlagh (orig r6903):  ribasushi | 2009-07-01 03:22:00 -0700
  Clarify exception text
  r5854 at hlagh (orig r6906):  ribasushi | 2009-07-01 04:23:46 -0700
   r6821 at Thesaurus (orig r6820):  ribasushi | 2009-06-28 13:09:11 +0200
   Branch for prefetch+group play
   r6823 at Thesaurus (orig r6822):  ribasushi | 2009-06-28 14:38:36 +0200
   Normalize group_by
   r6824 at Thesaurus (orig r6823):  ribasushi | 2009-06-28 14:39:54 +0200
   Proper prefetch+group test
   r6826 at Thesaurus (orig r6825):  ribasushi | 2009-06-28 14:42:48 +0200
   Whoops
   r6828 at Thesaurus (orig r6827):  ribasushi | 2009-06-28 15:06:57 +0200
   Lose the literal sql bits - castaway is right it's silly to support those
   r6833 at Thesaurus (orig r6832):  ribasushi | 2009-06-28 22:38:43 +0200
   Rogue comments
   r6837 at Thesaurus (orig r6836):  ribasushi | 2009-06-29 09:44:25 +0200
   A couple of test fixes
   r6838 at Thesaurus (orig r6837):  ribasushi | 2009-06-29 09:46:13 +0200
   Support for -select/-as in SQLAHacks field selection
   r6839 at Thesaurus (orig r6838):  ribasushi | 2009-06-29 09:49:53 +0200
   This is tested elsewhere
   r6840 at Thesaurus (orig r6839):  ribasushi | 2009-06-29 09:50:43 +0200
   This is tested elsewhere (2)
   r6841 at Thesaurus (orig r6840):  ribasushi | 2009-06-29 10:07:09 +0200
   Test cleanups
   r6842 at Thesaurus (orig r6841):  ribasushi | 2009-06-29 10:11:13 +0200
   Most of the grouped prefetch solution
   r6843 at Thesaurus (orig r6842):  ribasushi | 2009-06-29 10:14:45 +0200
   clearer
   r6845 at Thesaurus (orig r6844):  ribasushi | 2009-06-29 12:05:37 +0200
   And score! (all works)
   r6882 at Thesaurus (orig r6881):  ribasushi | 2009-06-30 16:23:06 +0200
   rs->get_column now properly recognizes prefetch and collapses if at all possible
   r6886 at Thesaurus (orig r6885):  ribasushi | 2009-06-30 17:39:58 +0200
   Whoops
  
  r5857 at hlagh (orig r6909):  ribasushi | 2009-07-01 04:27:15 -0700
  Optimize set_column on uninserted objects
  r5867 at hlagh (orig r6920):  caelum | 2009-07-01 08:40:32 -0700
   r5859 at hlagh (orig r6912):  caelum | 2009-07-01 06:21:30 -0700
   new connected() for dbd::sybase users
   r5860 at hlagh (orig r6913):  caelum | 2009-07-01 06:25:46 -0700
   add a couple of dbd::sybase reconnection tests
   r5861 at hlagh (orig r6914):  caelum | 2009-07-01 06:35:07 -0700
   better connection test
   r5862 at hlagh (orig r6915):  caelum | 2009-07-01 06:45:05 -0700
   use dbh->do for connected instead of prepare_cached
   r5863 at hlagh (orig r6916):  ribasushi | 2009-07-01 06:55:21 -0700
   Segfault
   r5864 at hlagh (orig r6917):  caelum | 2009-07-01 07:03:22 -0700
   use ->do instead of ->prepare_cached in oracle's connected() too
   r5865 at hlagh (orig r6918):  caelum | 2009-07-01 08:20:52 -0700
   fix segfault with old DBD::Sybase
   r5866 at hlagh (orig r6919):  caelum | 2009-07-01 08:39:18 -0700
   move connection tests into _ping()
  
  r5873 at hlagh (orig r6923):  ijw | 2009-07-01 10:34:32 -0700
  Added a test for a resultset to related-resultset join for 0 related records
  r5874 at hlagh (orig r6927):  ijw | 2009-07-01 11:04:16 -0700
  Additional tests on prefetch - illustrates the bug with left-join has_many (NULL row returned) and the one that results from the trivial fix (prefetch gives no artist)
  r5876 at hlagh (orig r6931):  ribasushi | 2009-07-01 23:08:33 -0700
  Another candidate for somethingawful.com (fix left join-ed count)
  r5877 at hlagh (orig r6933):  ribasushi | 2009-07-02 00:04:13 -0700
  Changelog
  r5878 at hlagh (orig r6934):  ribasushi | 2009-07-02 02:23:48 -0700
  cleanup
  r5879 at hlagh (orig r6935):  ijw | 2009-07-02 03:41:01 -0700
  Check fetched rows == count for related resultsets
  r5880 at hlagh (orig r6936):  ijw | 2009-07-02 03:43:47 -0700
  Confirm prefetch doesn't affect main row fetch, and main row fetch works with and without counting
  r5881 at hlagh (orig r6937):  ribasushi | 2009-07-02 03:52:51 -0700
  More fail (fix is known but needs work)
  r5882 at hlagh (orig r6938):  ribasushi | 2009-07-02 04:07:22 -0700
  And more fail
  r5883 at hlagh (orig r6939):  ribasushi | 2009-07-02 04:16:46 -0700
  These tests are in prefetch/count.t
  r5884 at hlagh (orig r6940):  ribasushi | 2009-07-02 04:38:31 -0700
  cleanup
  r5885 at hlagh (orig r6941):  ribasushi | 2009-07-02 04:38:49 -0700
  Solve more prefetch inflation crap
  r5886 at hlagh (orig r6942):  ribasushi | 2009-07-02 04:47:41 -0700
  Make the code readable
  r5887 at hlagh (orig r6943):  ribasushi | 2009-07-02 06:52:35 -0700
  Everything works, just need to fix join-path chaining over search_related (to guard against obscure db quirks)
  r5889 at hlagh (orig r6945):  caelum | 2009-07-02 12:06:32 -0700
  add sybase reconnect test
  r5891 at hlagh (orig r6947):  ribasushi | 2009-07-02 13:20:21 -0700
  Last part of the join handling puzzle
  r5894 at hlagh (orig r6950):  ribasushi | 2009-07-02 15:14:50 -0700
   r6360 at Thesaurus (orig r6359):  arcanez | 2009-05-21 20:18:52 +0200
   branch to work on prefetch/select
   r6361 at Thesaurus (orig r6360):  arcanez | 2009-05-21 20:32:46 +0200
   failing test
   r6373 at Thesaurus (orig r6372):  ribasushi | 2009-05-22 11:07:26 +0200
   Simplify unresolvable test by arcanez
   r6905 at Thesaurus (orig r6904):  ribasushi | 2009-07-01 12:54:03 +0200
   Extend test
   r6950 at Thesaurus (orig r6949):  ribasushi | 2009-07-03 00:14:09 +0200
   Apparent fix - simply delay the in_storage flagging of the main object until all prefetched objects are inflated. The rest of the changes are just cosmetics, preparing for the collapse_result rewrite
  
  r5896 at hlagh (orig r6952):  ribasushi | 2009-07-02 15:17:22 -0700
  Changes
  r5909 at hlagh (orig r6964):  ribasushi | 2009-07-03 04:19:27 -0700
  Add set_ansi_mode on_connect_call for mysql
  Also switch to _do_query instead of plain dbh->do (shows up in the trace)
  r5910 at hlagh (orig r6965):  ribasushi | 2009-07-03 04:37:06 -0700
  Capitalize mysql commands
  r5911 at hlagh (orig r6966):  ribasushi | 2009-07-03 06:07:49 -0700
  Double an existing might_have test as has_one
  r5912 at hlagh (orig r6967):  ribasushi | 2009-07-03 07:36:32 -0700
  Extra test to demonstrate has_one working, and a POD clarification of multicreate
  r5917 at hlagh (orig r6972):  ribasushi | 2009-07-03 11:20:42 -0700
   r6554 at Thesaurus (orig r6553):  frew | 2009-06-09 00:06:42 +0200
   branch for mssql top issues
   r6572 at Thesaurus (orig r6571):  frew | 2009-06-09 23:18:46 +0200
   more tests for SQL Server!
   r6573 at Thesaurus (orig r6572):  frew | 2009-06-09 23:49:10 +0200
   Added AmbiguousGlob.pm for silly servers like mssql and mysql.  See docs for more info
   r6574 at Thesaurus (orig r6573):  frew | 2009-06-09 23:55:22 +0200
   fix plan
   r6602 at Thesaurus (orig r6601):  frew | 2009-06-10 17:03:30 +0200
   more failing tests
   r6608 at Thesaurus (orig r6607):  frew | 2009-06-10 20:05:53 +0200
   don't use eval!
   r6610 at Thesaurus (orig r6609):  frew | 2009-06-10 20:07:49 +0200
   beginning of DWIM for IDENTITY_INSERT
   r6628 at Thesaurus (orig r6627):  frew | 2009-06-11 18:13:02 +0200
   still busted :-(
   r6631 at Thesaurus (orig r6630):  frew | 2009-06-11 19:39:00 +0200
   general function to go from column names and ident to result source
   r6632 at Thesaurus (orig r6631):  frew | 2009-06-11 19:40:11 +0200
   Use new _resolve_column_sources method and begin insert_bulk method
   r6635 at Thesaurus (orig r6634):  frew | 2009-06-11 20:12:38 +0200
   updated _resolve_column_source to _resolve_column_info as per ribasushi's suggestion
   r6650 at Thesaurus (orig r6649):  frew | 2009-06-12 17:13:32 +0200
   Now I just need to check if the actual values are set...
   r6651 at Thesaurus (orig r6650):  frew | 2009-06-12 17:26:53 +0200
   Insert Identity works!
   r6652 at Thesaurus (orig r6651):  frew | 2009-06-12 17:34:13 +0200
   silly warns.
   r6684 at Thesaurus (orig r6683):  frew | 2009-06-15 16:49:00 +0200
   failing test
   r6686 at Thesaurus (orig r6685):  ribasushi | 2009-06-15 18:10:26 +0200
   make all resolved attrs visible to sqla
   r6698 at Thesaurus (orig r6697):  ribasushi | 2009-06-17 02:31:37 +0200
   Half way working stuff, needs a LOT of tweaking still
   r6729 at Thesaurus (orig r6728):  ribasushi | 2009-06-19 19:49:27 +0200
   Merge badness
   r6730 at Thesaurus (orig r6729):  ribasushi | 2009-06-19 19:49:40 +0200
   fix eol
   r6731 at Thesaurus (orig r6730):  ribasushi | 2009-06-19 19:55:47 +0200
   augment inheritance
   r6735 at Thesaurus (orig r6734):  ribasushi | 2009-06-20 10:34:42 +0200
   Maybe I've nailed it
   r6746 at Thesaurus (orig r6745):  ribasushi | 2009-06-20 23:53:55 +0200
   Test and merge fixes
   r6747 at Thesaurus (orig r6746):  ribasushi | 2009-06-21 00:01:09 +0200
   Really fix tests
   r6748 at Thesaurus (orig r6747):  ribasushi | 2009-06-21 00:01:54 +0200
   Really fix tests
   r6749 at Thesaurus (orig r6748):  ribasushi | 2009-06-21 00:18:33 +0200
   Now really final
   r6750 at Thesaurus (orig r6749):  ribasushi | 2009-06-21 00:22:23 +0200
   whoops
   r6751 at Thesaurus (orig r6750):  ribasushi | 2009-06-21 00:42:18 +0200
   That should be all
   r6752 at Thesaurus (orig r6751):  ribasushi | 2009-06-21 08:54:00 +0200
   Make sure quoting works
   r6755 at Thesaurus (orig r6754):  ribasushi | 2009-06-21 15:21:23 +0200
   Groundwork for sanification of the toplimit test
   r6863 at Thesaurus (orig r6862):  ribasushi | 2009-06-30 01:13:49 +0200
   Make sure storage classes use c3, just like the rest of dbic (tested on 5.8 as well)
   r6869 at Thesaurus (orig r6868):  ribasushi | 2009-06-30 09:53:27 +0200
   Some fixes after review
   r6874 at Thesaurus (orig r6873):  ribasushi | 2009-06-30 11:54:34 +0200
   Fix borked next invocation
   r6896 at Thesaurus (orig r6895):  frew | 2009-06-30 21:38:26 +0200
   silly misspells and trailing whitespace
   r6955 at Thesaurus (orig r6954):  ribasushi | 2009-07-03 01:21:28 +0200
   Some hack consolidation
   r6962 at Thesaurus (orig r6961):  ribasushi | 2009-07-03 12:06:57 +0200
   Fix some mssql shortcommings when confronted with the new subequeried prefetch sql
   r6963 at Thesaurus (orig r6962):  ribasushi | 2009-07-03 12:47:57 +0200
   Ask for newer DBD::Pg in author mode, suggest the newer version otherwise (proper array support). Make test more resilient as well
   r6964 at Thesaurus (orig r6963):  ribasushi | 2009-07-03 12:49:16 +0200
   Switch to C3 mro throughout the ::Storage hierarchy (DBIx::Class brings in MRO::Compat, and all ::Storage's are based on it, tested on 5.8
   r6969 at Thesaurus (orig r6968):  ribasushi | 2009-07-03 19:54:04 +0200
   Duh
   r6970 at Thesaurus (orig r6969):  frew | 2009-07-03 19:59:48 +0200
   fix tests for new codez
   r6971 at Thesaurus (orig r6970):  ribasushi | 2009-07-03 20:18:53 +0200
   detabify
   r6972 at Thesaurus (orig r6971):  ribasushi | 2009-07-03 20:20:07 +0200
   changes
  
  r5920 at hlagh (orig r6979):  ribasushi | 2009-07-04 02:34:08 -0700
  Hide devel documentation from the indexer
  r5921 at hlagh (orig r6980):  ribasushi | 2009-07-04 02:37:25 -0700
  Add set_ansi_mode POD
  r5922 at hlagh (orig r6981):  ribasushi | 2009-07-04 02:45:24 -0700
  Backout mysql changes for further polishing
  r5925 at hlagh (orig r6984):  ribasushi | 2009-07-04 03:08:16 -0700
  Missing newline
  r5926 at hlagh (orig r6985):  ribasushi | 2009-07-04 03:11:18 -0700
  typo
  r5927 at hlagh (orig r6986):  ribasushi | 2009-07-04 03:40:47 -0700
  Fix POD
  r5928 at hlagh (orig r6987):  ribasushi | 2009-07-04 04:09:39 -0700
  todos are shorter now
  r5929 at hlagh (orig r6989):  castaway | 2009-07-05 13:00:55 -0700
  Added Pod::Inherit use to Makefile.PL at author-time, comments/suggestions as to whether its too "noisy" welcome.
  
  r5930 at hlagh (orig r6990):  ribasushi | 2009-07-05 15:06:52 -0700
  Couple of makefile fixes:
  use is compile time, use require
  recommends is for distro maintainers only, push the dependency into the authors hash (it is not to be executed by mere mortals)
  
  r5931 at hlagh (orig r6991):  ribasushi | 2009-07-05 15:55:36 -0700
  Forgotten pod exclusions
  r5932 at hlagh (orig r6992):  ribasushi | 2009-07-05 16:07:05 -0700
  Temporarily backout Pod::Inherit changes
  r5933 at hlagh (orig r6993):  ribasushi | 2009-07-05 16:10:22 -0700
  Put Pod::Inherit stuff back after proper copy
 
 r7027 at Thesaurus (orig r7026):  caelum | 2009-07-10 23:25:56 +0200
  r5941 at hlagh (orig r7009):  ribasushi | 2009-07-09 03:45:02 -0700
   r6995 at Thesaurus (orig r6994):  ribasushi | 2009-07-06 01:12:57 +0200
   Where 08108 will come from
  
 
 r7029 at Thesaurus (orig r7028):  caelum | 2009-07-10 23:59:31 +0200
  r5959 at hlagh (orig r7027):  caelum | 2009-07-10 14:56:57 -0700
  fix PodInherit call in Makefile.PL
 
 r7067 at Thesaurus (orig r7066):  caelum | 2009-07-17 10:18:24 +0200
  r5961 at hlagh (orig r7029):  robkinyon | 2009-07-10 18:03:07 -0400
  Applied patch from kados regarding use of a DateTime::Format class to validate
  r5962 at hlagh (orig r7030):  caelum | 2009-07-11 05:26:40 -0400
  reword IC::DT doc patch
  r6009 at hlagh (orig r7037):  dandv | 2009-07-13 08:06:08 -0400
  PK::Auto has moved into Core since 2007
  r6010 at hlagh (orig r7038):  dandv | 2009-07-13 08:15:13 -0400
  Fixed has_many example in Intro.pod
  r6011 at hlagh (orig r7039):  dandv | 2009-07-13 16:58:45 -0400
  Fixed run-on sentences in FAQ
  r6012 at hlagh (orig r7040):  dandv | 2009-07-13 17:18:11 -0400
  Minor POD fixes in Example.pod
  r6013 at hlagh (orig r7041):  dandv | 2009-07-13 17:48:18 -0400
  Favored using ->single to get the topmost result over less readable ->slice(0)
  r6014 at hlagh (orig r7042):  dandv | 2009-07-13 18:56:31 -0400
  Minor POD fixes in Cookbook
  r6015 at hlagh (orig r7045):  ribasushi | 2009-07-14 07:30:55 -0400
  Minor logic cleanup
  r6016 at hlagh (orig r7046):  ribasushi | 2009-07-14 08:07:11 -0400
  grouped prefetch fix
  r6023 at hlagh (orig r7053):  ijw | 2009-07-15 12:55:35 -0400
  Added SQLA link for more comprehensive documentation of order_by options available
  r6026 at hlagh (orig r7056):  caelum | 2009-07-15 18:54:22 -0400
  add "smalldatetime" support to IC::DT
  r6029 at hlagh (orig r7059):  ribasushi | 2009-07-16 00:29:41 -0400
   r7013 at Thesaurus (orig r7012):  jnapiorkowski | 2009-07-09 17:00:22 +0200
   new branch
   r7014 at Thesaurus (orig r7013):  jnapiorkowski | 2009-07-09 20:06:44 +0200
   changed the way transactions are detected for replication to work with the standard way to do this, minor doc updates, fix to the force pool so you can force a particular slave, changes to the way the debugging is created
   r7015 at Thesaurus (orig r7014):  jnapiorkowski | 2009-07-09 20:17:03 +0200
   more changes to the way debug output works
   r7016 at Thesaurus (orig r7015):  jnapiorkowski | 2009-07-09 22:26:47 +0200
   big update to the test suite so that we now check to make sure the storage that was expected was actually used
   r7017 at Thesaurus (orig r7016):  jnapiorkowski | 2009-07-09 23:23:37 +0200
   set correct number of tests, changed the debuggin output to not warn on DDL, minor change to a test resultclass so we can deploy to mysql properly
   r7018 at Thesaurus (orig r7017):  jnapiorkowski | 2009-07-09 23:26:59 +0200
   corrected the number of skipped tests
   r7019 at Thesaurus (orig r7018):  jnapiorkowski | 2009-07-09 23:52:22 +0200
   fixed test resultclass formatting, added a few more DBIC::Storage::DBI methods that I might need to delegate.
   r7020 at Thesaurus (orig r7019):  jnapiorkowski | 2009-07-10 01:23:07 +0200
   some documention updates and changed the way we find paths for the sqlite dbfiles to use File::Spec, which I hope will solve some of the Win32 error messages
   r7023 at Thesaurus (orig r7022):  jnapiorkowski | 2009-07-10 18:00:38 +0200
   pod cleanup, fixed broken pod links, and new Introduction pod
   r7024 at Thesaurus (orig r7023):  jnapiorkowski | 2009-07-10 19:10:57 +0200
   updated Changes file to reflect work completed
   r7025 at Thesaurus (orig r7024):  jnapiorkowski | 2009-07-10 19:37:53 +0200
   a few more Moose Type related fixes and added diag to the replication test to report the moose and types version used, to help us debug some of the moose related errors being reported
   r7058 at Thesaurus (orig r7057):  ribasushi | 2009-07-16 06:28:44 +0200
   A couple of typos, and general whitespace cleanup (ick)
  
  r6031 at hlagh (orig r7062):  jnapiorkowski | 2009-07-16 11:03:32 -0400
  increased Moose version requirements due to changes in the way type constraints get validated, which is not backwardly compatible
  r6032 at hlagh (orig r7063):  dandv | 2009-07-16 21:37:28 -0400
  Minor POD grammar: it's -> its where appropriate
 
 r7105 at Thesaurus (orig r7102):  caelum | 2009-07-24 06:34:56 +0200
  r6075 at hlagh (orig r7074):  tomboh | 2009-07-20 12:20:37 -0400
  Fix POD changes from r7040.
  r6081 at hlagh (orig r7077):  norbi | 2009-07-20 18:59:30 -0400
  
  r6082 at hlagh (orig r7078):  norbi | 2009-07-20 18:59:58 -0400
   r7232 at vger:  mendel | 2009-07-21 00:58:12 +0200
   Fixed documentation and added test for the "Arbitrary SQL through a custom ResultSource" Cookbook alternate (subclassing) recipe.
  
  r6083 at hlagh (orig r7079):  norbi | 2009-07-20 19:05:32 -0400
   r7235 at vger:  mendel | 2009-07-21 01:05:18 +0200
   Fixed 'typo' (removed a word that I left there by accident).
  
  r6084 at hlagh (orig r7080):  norbi | 2009-07-21 04:06:21 -0400
   r7237 at vger:  mendel | 2009-07-21 10:06:05 +0200
   Fixing what my svk client screwed up.
  
  r6085 at hlagh (orig r7081):  caelum | 2009-07-21 10:51:55 -0400
  update Storage::Replicated prereqs
  r6086 at hlagh (orig r7082):  caelum | 2009-07-21 12:16:34 -0400
  show Oracle datetime_setup alter session statements in debug output
  r6088 at hlagh (orig r7085):  ribasushi | 2009-07-21 21:50:57 -0400
  Lazy folks do not run the whole test suite before merging >:( 
  r6287 at hlagh (orig r7097):  caelum | 2009-07-23 14:14:11 -0400
   r6092 at hlagh (orig r7090):  caelum | 2009-07-23 08:24:39 -0400
   new branch for fixing the MONEY type in MSSQL
   r6093 at hlagh (orig r7091):  caelum | 2009-07-23 08:34:01 -0400
   add test
   r6283 at hlagh (orig r7093):  caelum | 2009-07-23 10:31:08 -0400
   fix money columns
   r6284 at hlagh (orig r7094):  caelum | 2009-07-23 10:34:06 -0400
   minor change
   r6285 at hlagh (orig r7095):  caelum | 2009-07-23 11:01:37 -0400
   add test for updating money value to NULL
   r6286 at hlagh (orig r7096):  caelum | 2009-07-23 14:09:26 -0400
   add money type tests to dbd::sybase+mssql tests
  
 
 r7135 at Thesaurus (orig r7132):  caelum | 2009-07-28 19:10:40 +0200
  r6365 at hlagh (orig r7126):  caelum | 2009-07-27 20:03:47 -0400
  add postgres "timestamp without time zone" support
 
 r7244 at Thesaurus (orig r7241):  caelum | 2009-08-06 17:12:49 +0200
 add warning for custom resultsources through ->name(SCALARREF) on ->deploy
 r7245 at Thesaurus (orig r7242):  caelum | 2009-08-06 17:54:33 +0200
 improve the ->name(REF) warning code
 r7268 at Thesaurus (orig r7265):  ribasushi | 2009-08-09 00:23:24 +0200
 Clarify POD and cleanup the ->name-hack warning
 r7269 at Thesaurus (orig r7266):  ribasushi | 2009-08-09 00:34:09 +0200
 Fix a corner case and improve comments



Property changes on: DBIx-Class/0.08/trunk
___________________________________________________________________
Name: svk:merge
   - 168d5346-440b-0410-b799-f706be625ff1:/DBIx-Class-current:2207
462d4d0c-b505-0410-bf8e-ce8f877b3390:/local/bast/DBIx-Class:3159
4d5fae46-8e6a-4e08-abee-817e9fb894a2:/local/bast/DBIx-Class/0.08/branches/resultsetcolumn_custom_columns:5160
4d5fae46-8e6a-4e08-abee-817e9fb894a2:/local/bast/DBIx-Class/0.08/branches/sqla_1.50_compat:5414
4d5fae46-8e6a-4e08-abee-817e9fb894a2:/local/bast/DBIx-Class/0.08/trunk:7237
9c88509d-e914-0410-b01c-b9530614cbfe:/local/DBIx-Class:32260
9c88509d-e914-0410-b01c-b9530614cbfe:/local/DBIx-Class-CDBICompat:54993
9c88509d-e914-0410-b01c-b9530614cbfe:/vendor/DBIx-Class:31122
ab17426e-7cd3-4704-a2a2-80b7c0a611bb:/local/dbic_column_attr:10946
ab17426e-7cd3-4704-a2a2-80b7c0a611bb:/local/dbic_trunk:11788
bd5ac9a7-f185-4d95-9186-dbb8b392a572:/local/os/bast/DBIx-Class/0.08/trunk:2798
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/belongs_to_null_col_fix:5244
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/cdbicompat_integration:4160
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/column_attr:5074
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/complex_join_rels:4589
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/count_distinct:6218
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/count_rs:6741
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/diamond_relationships:6310
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/discard_changes_replication_fix:7252
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/file_column:3920
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/fix-update-and-delete-as_query:6162
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/grouped_prefetch:6885
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/joined_count:6323
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mssql_money_type:7096
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mssql_storage_minor_refactor:7210
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mssql_top_fixes:6971
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/multi_stuff:5565
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mysql_ansi:7175
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mystery_join:6589
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/new_replication_transaction_fixup:7058
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/on_connect_call:6854
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/on_disconnect_do:3694
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/oracle-tweaks:6222
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/oracle_sequence:4173
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/order_by_refactor:6475
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/parser_fk_index:4485
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/prefetch:5699
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/prefetch_limit:6724
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/prefetch_redux:7206
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/reduce_pings:7261
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/replication_dedux:4600
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/rsrc_in_storage:6577
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/rt_bug_41083:5437
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/savepoints:4223
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/search_related_prefetch:6818
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/sqla_1.50_compat:5321
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/storage-ms-access:4142
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/storage-tweaks:6262
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/subclassed_rsset:5930
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/subquery:5617
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/syb_connected:6919
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/sybase:5651
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/sybase_mssql:6125
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/top_limit_altfix:6429
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/type_aware_update:6619
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/unresolvable_prefetch:6949
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/versioned_enhancements:4125
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/versioning:4578
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/views:5585
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/tags/0.08108_prerelease_please_do_not_pull_into_it:7008
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-C3:318
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-current:2222
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-joins:173
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-resultset:570
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/datetime:1716
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/find_compat:1855
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/find_unique_query_fixes:2142
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/inflate:1988
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/many_to_many:2025
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/re_refactor_bugfix:1944
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/reorganize_tests:1827
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/resultset-new-refactor:1766
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/resultset_2_electric_boogaloo:2175
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/resultset_cleanup:2102
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/sqlt_tests_refactor:2043
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/trunk/DBIx-Class:3606
fe160bb6-dc1c-0410-9f2b-d64a711b54a5:/local/DBIC-trunk-0.08:10510
   + 168d5346-440b-0410-b799-f706be625ff1:/DBIx-Class-current:2207
462d4d0c-b505-0410-bf8e-ce8f877b3390:/local/bast/DBIx-Class:3159
4d5fae46-8e6a-4e08-abee-817e9fb894a2:/local/bast/DBIx-Class/0.08/branches/resultsetcolumn_custom_columns:5160
4d5fae46-8e6a-4e08-abee-817e9fb894a2:/local/bast/DBIx-Class/0.08/branches/sqla_1.50_compat:5414
4d5fae46-8e6a-4e08-abee-817e9fb894a2:/local/bast/DBIx-Class/0.08/trunk:7237
9c88509d-e914-0410-b01c-b9530614cbfe:/local/DBIx-Class:32260
9c88509d-e914-0410-b01c-b9530614cbfe:/local/DBIx-Class-CDBICompat:54993
9c88509d-e914-0410-b01c-b9530614cbfe:/vendor/DBIx-Class:31122
ab17426e-7cd3-4704-a2a2-80b7c0a611bb:/local/dbic_column_attr:10946
ab17426e-7cd3-4704-a2a2-80b7c0a611bb:/local/dbic_trunk:11788
bd5ac9a7-f185-4d95-9186-dbb8b392a572:/local/os/bast/DBIx-Class/0.08/trunk:2798
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/_abandoned_but_possibly_useful/table_name_ref:7266
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/belongs_to_null_col_fix:5244
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/cdbicompat_integration:4160
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/column_attr:5074
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/complex_join_rels:4589
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/count_distinct:6218
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/count_rs:6741
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/diamond_relationships:6310
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/discard_changes_replication_fix:7252
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/file_column:3920
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/fix-update-and-delete-as_query:6162
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/grouped_prefetch:6885
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/joined_count:6323
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mssql_money_type:7096
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mssql_storage_minor_refactor:7210
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mssql_top_fixes:6971
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/multi_stuff:5565
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mysql_ansi:7175
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/mystery_join:6589
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/new_replication_transaction_fixup:7058
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/on_connect_call:6854
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/on_disconnect_do:3694
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/oracle-tweaks:6222
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/oracle_sequence:4173
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/order_by_refactor:6475
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/parser_fk_index:4485
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/prefetch:5699
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/prefetch_limit:6724
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/prefetch_redux:7206
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/reduce_pings:7261
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/replication_dedux:4600
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/rsrc_in_storage:6577
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/rt_bug_41083:5437
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/savepoints:4223
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/search_related_prefetch:6818
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/sqla_1.50_compat:5321
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/storage-ms-access:4142
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/storage-tweaks:6262
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/subclassed_rsset:5930
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/subquery:5617
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/syb_connected:6919
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/sybase:5651
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/sybase_mssql:6125
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/table_name_ref:7132
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/top_limit_altfix:6429
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/type_aware_update:6619
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/unresolvable_prefetch:6949
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/versioned_enhancements:4125
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/versioning:4578
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/branches/views:5585
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/DBIx-Class/0.08/tags/0.08108_prerelease_please_do_not_pull_into_it:7008
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-C3:318
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-current:2222
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-joins:173
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class-resultset:570
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/datetime:1716
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/find_compat:1855
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/find_unique_query_fixes:2142
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/inflate:1988
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/many_to_many:2025
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/re_refactor_bugfix:1944
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/reorganize_tests:1827
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/resultset-new-refactor:1766
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/resultset_2_electric_boogaloo:2175
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/resultset_cleanup:2102
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/branches/DBIx-Class/sqlt_tests_refactor:2043
bd8105ee-0ff8-0310-8827-fb3f25b6796d:/trunk/DBIx-Class:3606
fe160bb6-dc1c-0410-9f2b-d64a711b54a5:/local/DBIC-trunk-0.08:10510

Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/Manual/Cookbook.pod
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/Manual/Cookbook.pod	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/Manual/Cookbook.pod	2009-08-08 22:34:31 UTC (rev 7267)
@@ -103,8 +103,9 @@
 be optimized for your database in a special way, but you still want to
 get the results as a L<DBIx::Class::ResultSet>.
 
-The recommended way to accomplish this is by defining a separate
-L<ResultSource::View|DBIx::Class::ResultSource::View> for your query.
+This is accomplished by defining a
+L<ResultSource::View|DBIx::Class::ResultSource::View> for your query,
+almost like you would define a regular ResultSource.
 
   package My::Schema::Result::UserFriendsComplex;
   use strict;
@@ -116,7 +117,9 @@
 
   # ->table, ->add_columns, etc.
 
+  # do not attempt to deploy() this view
   __PACKAGE__->result_source_instance->is_virtual(1);
+
   __PACKAGE__->result_source_instance->view_definition(q[
     SELECT u.* FROM user u
     INNER JOIN user_friends f ON u.id = f.user_id
@@ -141,6 +144,21 @@
 
 Note that you cannot have bind parameters unless is_virtual is set to true.
 
+=over
+
+=item * NOTE
+
+If you're using the old deprecated C<< $rsrc_instance->name(\'( SELECT ...') >>
+method for custom SQL execution, you are highly encouraged to update your code 
+to use a virtual view as above. If you do not want to change your code, and just
+want to suppress the deprecation warning when you call
+L<DBIx::Class::Schema/deploy>, add this line to your source definition, so that
+C<deploy> will exclude this "table":
+
+  sub sqlt_deploy_hook { $_[1]->schema->drop_table ($_[1]) }
+
+=back
+
 =head2 Using specific columns
 
 When you only want specific columns from a table, you can use

Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSource.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSource.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSource.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -584,7 +584,10 @@
 sub name_unique_constraint {
   my ($self, $cols) = @_;
 
-  return join '_', $self->name, @$cols;
+  my $name = $self->name;
+  $name = $$name if (ref $name eq 'SCALAR');
+
+  return join '_', $name, @$cols;
 }
 
 =head2 unique_constraints

Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSourceProxy/Table.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSourceProxy/Table.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/ResultSourceProxy/Table.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -5,6 +5,9 @@
 
 use base qw/DBIx::Class::ResultSourceProxy/;
 
+use DBIx::Class::ResultSource::Table;
+use Scalar::Util ();
+
 __PACKAGE__->mk_classdata(table_class => 'DBIx::Class::ResultSource::Table');
 
 __PACKAGE__->mk_classdata('table_alias'); # FIXME: Doesn't actually do
@@ -76,8 +79,9 @@
 sub table {
   my ($class, $table) = @_;
   return $class->result_source_instance->name unless $table;
-  unless (ref $table) {
 
+  unless (Scalar::Util::blessed($table) && $table->isa($class->table_class)) {
+
     my $table_class = $class->table_class;
     $class->ensure_class_loaded($table_class);
 

Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks/MySQL.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks/MySQL.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks/MySQL.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -12,7 +12,7 @@
   my $self = shift;
 
   my $table = $_[0];
-  $table = $self->_quote($table) unless ref($table);
+  $table = $self->_quote($table);
 
   if (! $_[1] or (ref $_[1] eq 'HASH' and !keys %{$_[1]} ) ) {
     return "INSERT INTO ${table} () VALUES ()"

Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/SQLAHacks.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -329,12 +329,10 @@
 
   $self->{"${_}_bind"} = [] for (qw/having from order/);
 
-  if (ref $table eq 'SCALAR') {
-    $table = $$table;
-  }
-  elsif (not ref $table) {
+  if (not ref($table) or ref($table) eq 'SCALAR') {
     $table = $self->_quote($table);
   }
+
   local $self->{rownum_hack_count} = 1
     if (defined $rest[0] && $self->{limit_dialect} eq 'RowNum');
   @rest = (-1) unless defined $rest[0];
@@ -354,7 +352,7 @@
 sub insert {
   my $self = shift;
   my $table = shift;
-  $table = $self->_quote($table) unless ref($table);
+  $table = $self->_quote($table);
 
   # SQLA will emit INSERT INTO $table ( ) VALUES ( )
   # which is sadly understood only by MySQL. Change default behavior here,
@@ -370,7 +368,7 @@
 sub update {
   my $self = shift;
   my $table = shift;
-  $table = $self->_quote($table) unless ref($table);
+  $table = $self->_quote($table);
   $self->SUPER::update($table, @_);
 }
 
@@ -378,7 +376,7 @@
 sub delete {
   my $self = shift;
   my $table = shift;
-  $table = $self->_quote($table) unless ref($table);
+  $table = $self->_quote($table);
   $self->SUPER::delete($table, @_);
 }
 
@@ -584,6 +582,7 @@
 sub _quote {
   my ($self, $label) = @_;
   return '' unless defined $label;
+  return $$label if ref($label) eq 'SCALAR';
   return "*" if $label eq '*';
   return $label unless $self->{quote_char};
   if(ref $self->{quote_char} eq "ARRAY"){

Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/Storage/DBI/Pg.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/Storage/DBI/Pg.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/Storage/DBI/Pg.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -52,9 +52,17 @@
   my ($self,$source,$col) = @_;
 
   my @pri = $source->primary_columns;
-  my ($schema,$table) = $source->name =~ /^(.+)\.(.+)$/ ? ($1,$2)
-    : (undef,$source->name);
 
+  my $schema;
+  my $table = $source->name;
+
+  if (ref $table eq 'SCALAR') {
+    $table = $$table;
+  }
+  elsif ($table =~ /^(.+)\.(.+)$/) {
+    ($schema, $table) = ($1, $2);
+  }
+
   $self->dbh_do('_dbh_get_autoinc_seq', $schema, $table, @pri);
 }
 

Modified: DBIx-Class/0.08/trunk/lib/SQL/Translator/Parser/DBIx/Class.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/SQL/Translator/Parser/DBIx/Class.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/lib/SQL/Translator/Parser/DBIx/Class.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -82,8 +82,9 @@
         my $source = $dbicschema->source($moniker);
         my $table_name = $source->name;
 
-        # Skip custom query sources
-        next if ref $table_name;
+        # FIXME - this isn't the right way to do it, but sqlt does not
+        # support quoting properly to be signaled about this
+        $table_name = $$table_name if ref $table_name eq 'SCALAR';
 
         # Its possible to have multiple DBIC sources using the same table
         next if $tables{$table_name};
@@ -142,6 +143,10 @@
             my $othertable = $source->related_source($rel);
             my $rel_table = $othertable->name;
 
+            # FIXME - this isn't the right way to do it, but sqlt does not
+            # support quoting properly to be signaled about this
+            $rel_table = $$rel_table if ref $rel_table eq 'SCALAR';
+
             my $reverse_rels = $source->reverse_relationship_info($rel);
             my ($otherrelname, $otherrelationship) = each %{$reverse_rels};
 
@@ -251,15 +256,33 @@
     ) {
       $schema->add_table ($tables{$table}{object});
       $tables{$table}{source} -> _invoke_sqlt_deploy_hook( $tables{$table}{object} );
+
+      # the hook might have already removed the table
+      if ($schema->get_table($table) && $table =~ /^ \s* \( \s* SELECT \s+/ix) {
+        warn <<'EOW';
+
+Custom SQL through ->name(\'( SELECT ...') is DEPRECATED, for more details see
+"Arbitrary SQL through a custom ResultSource" in DBIx::Class::Manual::Cookbook
+or http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/Manual/Cookbook.pod
+
+EOW
+
+        # remove the table as there is no way someone might want to
+        # actually deploy this
+        $schema->drop_table ($table);
+      }
     }
 
-
     my %views;
     foreach my $moniker (sort @view_monikers)
     {
         my $source = $dbicschema->source($moniker);
         my $view_name = $source->name;
 
+        # FIXME - this isn't the right way to do it, but sqlt does not
+        # support quoting properly to be signaled about this
+        $view_name = $$view_name if ref $view_name eq 'SCALAR';
+
         # Skip custom query sources
         next if ref $view_name;
 

Modified: DBIx-Class/0.08/trunk/t/19quotes.t
===================================================================
--- DBIx-Class/0.08/trunk/t/19quotes.t	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/t/19quotes.t	2009-08-08 22:34:31 UTC (rev 7267)
@@ -36,7 +36,7 @@
 eval { $rs->count };
 is_same_sql_bind(
   $sql, \@bind,
-  "SELECT COUNT( * ) FROM `cd` `me`  JOIN `artist` `artist` ON ( `artist`.`artistid` = `me`.`artist` ) WHERE ( `artist`.`name` = ? AND `me`.`year` = ? )", ["'Caterwauler McCrae'", "'2001'"],
+  "SELECT COUNT( * ) FROM cd `me`  JOIN `artist` `artist` ON ( `artist`.`artistid` = `me`.`artist` ) WHERE ( `artist`.`name` = ? AND `me`.`year` = ? )", ["'Caterwauler McCrae'", "'2001'"],
   'got correct SQL for count query with quoting'
 );
 
@@ -60,7 +60,7 @@
 eval { $rs->count };
 is_same_sql_bind(
   $sql, \@bind,
-  "SELECT COUNT( * ) FROM [cd] [me]  JOIN [artist] [artist] ON ( [artist].[artistid] = [me].[artist] ) WHERE ( [artist].[name] = ? AND [me].[year] = ? )", ["'Caterwauler McCrae'", "'2001'"],
+  "SELECT COUNT( * ) FROM cd [me]  JOIN [artist] [artist] ON ( [artist].[artistid] = [me].[artist] ) WHERE ( [artist].[name] = ? AND [me].[year] = ? )", ["'Caterwauler McCrae'", "'2001'"],
   'got correct SQL for count query with bracket quoting'
 );
 

Modified: DBIx-Class/0.08/trunk/t/19quotes_newstyle.t
===================================================================
--- DBIx-Class/0.08/trunk/t/19quotes_newstyle.t	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/t/19quotes_newstyle.t	2009-08-08 22:34:31 UTC (rev 7267)
@@ -42,7 +42,7 @@
 eval { $rs->count };
 is_same_sql_bind(
   $sql, \@bind,
-  "SELECT COUNT( * ) FROM `cd` `me`  JOIN `artist` `artist` ON ( `artist`.`artistid` = `me`.`artist` ) WHERE ( `artist`.`name` = ? AND `me`.`year` = ? )", ["'Caterwauler McCrae'", "'2001'"],
+  "SELECT COUNT( * ) FROM cd `me`  JOIN `artist` `artist` ON ( `artist`.`artistid` = `me`.`artist` ) WHERE ( `artist`.`name` = ? AND `me`.`year` = ? )", ["'Caterwauler McCrae'", "'2001'"],
   'got correct SQL for count query with quoting'
 );
 
@@ -73,7 +73,7 @@
 eval { $rs->count };
 is_same_sql_bind(
   $sql, \@bind,
-  "SELECT COUNT( * ) FROM [cd] [me]  JOIN [artist] [artist] ON ( [artist].[artistid] = [me].[artist] ) WHERE ( [artist].[name] = ? AND [me].[year] = ? )", ["'Caterwauler McCrae'", "'2001'"],
+  "SELECT COUNT( * ) FROM cd [me]  JOIN [artist] [artist] ON ( [artist].[artistid] = [me].[artist] ) WHERE ( [artist].[name] = ? AND [me].[year] = ? )", ["'Caterwauler McCrae'", "'2001'"],
   'got correct SQL for count query with bracket quoting'
 );
 

Modified: DBIx-Class/0.08/trunk/t/76select.t
===================================================================
--- DBIx-Class/0.08/trunk/t/76select.t	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/t/76select.t	2009-08-08 22:34:31 UTC (rev 7267)
@@ -64,6 +64,7 @@
 cmp_ok ($cds->count, '>', 2, 'Initially populated with more than 2 CDs');
 
 my $table = $cds->result_source->name;
+$table = $$table if ref $table eq 'SCALAR';
 my $subsel = $cds->search ({}, {
     columns => [qw/cdid title/],
     from => \ "(SELECT cdid, title FROM $table LIMIT 2) me",

Modified: DBIx-Class/0.08/trunk/t/99dbic_sqlt_parser.t
===================================================================
--- DBIx-Class/0.08/trunk/t/99dbic_sqlt_parser.t	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/t/99dbic_sqlt_parser.t	2009-08-08 22:34:31 UTC (rev 7267)
@@ -29,7 +29,7 @@
 	my $sqlt_schema = create_schema({ schema => $schema, args => { parser_args => { } } });
 
 	foreach my $source (@sources) {
-		my $table = $sqlt_schema->get_table($schema->source($source)->from);
+		my $table = get_table($sqlt_schema, $schema, $source);
 
 		my $fk_count = scalar(grep { $_->type eq 'FOREIGN KEY' } $table->get_constraints);
 		my @indices = $table->get_indices;
@@ -43,7 +43,7 @@
 	my $sqlt_schema = create_schema({ schema => $schema, args => { parser_args => { add_fk_index => 1 } } });
 
 	foreach my $source (@sources) {
-		my $table = $sqlt_schema->get_table($schema->source($source)->from);
+		my $table = get_table($sqlt_schema, $schema, $source);
 
 		my $fk_count = scalar(grep { $_->type eq 'FOREIGN KEY' } $table->get_constraints);
 		my @indices = $table->get_indices;
@@ -57,7 +57,7 @@
 	my $sqlt_schema = create_schema({ schema => $schema, args => { parser_args => { add_fk_index => 0 } } });
 
 	foreach my $source (@sources) {
-		my $table = $sqlt_schema->get_table($schema->source($source)->from);
+		my $table = get_table($sqlt_schema, $schema, $source);
 
 		my @indices = $table->get_indices;
 		my $index_count = scalar(@indices);
@@ -83,3 +83,12 @@
 	$sqlt->parser('SQL::Translator::Parser::DBIx::Class');
 	return $sqlt->translate({ data => $schema }) or die $sqlt->error;
 }
+
+sub get_table {
+    my ($sqlt_schema, $schema, $source) = @_;
+
+    my $table_name = $schema->source($source)->from;
+    $table_name    = $$table_name if ref $table_name;
+
+    return $sqlt_schema->get_table($table_name);
+}

Modified: DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CD.pm
===================================================================
--- DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CD.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CD.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -3,7 +3,10 @@
 
 use base qw/DBICTest::BaseResult/;
 
-__PACKAGE__->table('cd');
+# this tests table name as scalar ref
+# DO NOT REMOVE THE \
+__PACKAGE__->table(\'cd');
+
 __PACKAGE__->add_columns(
   'cdid' => {
     data_type => 'integer',

Modified: DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CustomSql.pm
===================================================================
--- DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CustomSql.pm	2009-08-08 22:34:09 UTC (rev 7266)
+++ DBIx-Class/0.08/trunk/t/lib/DBICTest/Schema/CustomSql.pm	2009-08-08 22:34:31 UTC (rev 7267)
@@ -12,4 +12,6 @@
   WHERE cd.year = ?)
 SQL
 
+sub sqlt_deploy_hook { $_[1]->schema->drop_table($_[1]) }
+
 1;




More information about the Bast-commits mailing list