I was afraid that. :(<br><br><div><span class="gmail_quote">On 8/16/07, <b class="gmail_sendername"><a href="mailto:jifty-commit@lists.jifty.org">jifty-commit@lists.jifty.org</a></b> &lt;<a href="mailto:jifty-commit@lists.jifty.org">
jifty-commit@lists.jifty.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Author: trs<br>Date: Thu Aug 16 15:59:16 2007
<br>New Revision: 3911<br><br>Modified:<br>&nbsp;&nbsp; Jifty-DBI/trunk/&nbsp;&nbsp; (props changed)<br>&nbsp;&nbsp; Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm<br>&nbsp;&nbsp; Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm<br>&nbsp;&nbsp; Jifty-DBI/trunk/t/11schema_records.t<br><br>
Log:<br> r26169@zot:&nbsp;&nbsp;tom | 2007-08-16 15:58:56 -0400<br> Backup r3908 for now since it breaks existing code<br><br><br>Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm<br>==============================================================================
<br>--- Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm&nbsp;&nbsp;&nbsp;&nbsp; (original)<br>+++ Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm&nbsp;&nbsp;&nbsp;&nbsp; Thu Aug 16 15:59:16 2007<br>@@ -259,20 +259,11 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( $column-&gt;readable ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( UNIVERSAL::isa( $column-&gt;refers_to, &quot;Jifty::DBI::Record&quot; ) )
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($column-&gt;virtual) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$subref = sub {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( @_ &gt; 1 ) { Carp::carp &quot;Value passed to column accessor. You probably want to use the mutator.&quot; }
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_[0]-&gt;_to_record( $column_name,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_[0]-&gt;id );<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$subref = sub {
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( @_ &gt; 1 ) { Carp::carp &quot;Value passed to column accessor.&nbsp;&nbsp;You probably want to use the mutator.&quot; }<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_[0]-&gt;_to_record( $column_name,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_[0]-&gt;__value($column_name) );
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$subref = sub {<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( @_ &gt; 1 ) { Carp::carp &quot;Value passed to column accessor.&nbsp;&nbsp;You probably want to use the mutator.&quot; }
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_[0]-&gt;_to_record( $column_name,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_[0]-&gt;__value($column_name) );<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } elsif (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNIVERSAL::isa(
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $column-&gt;refers_to, &quot;Jifty::DBI::Collection&quot;<br><br>Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm<br>==============================================================================
<br>--- Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm&nbsp;&nbsp;&nbsp;&nbsp; (original)<br>+++ Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm&nbsp;&nbsp;&nbsp;&nbsp; Thu Aug 16 15:59:16 2007<br>@@ -346,9 +346,6 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # A one-to-one or one-to-many relationship is requested
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( UNIVERSAL::isa( $refclass, &#39;Jifty::DBI::Record&#39; ) ) {<br><br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Make this a virtual record reference if they set by<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$column-&gt;virtual(1) if defined $column-&gt;by and $column-&gt;by ne &#39;id&#39;;
<br>-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Handle *_id reference columns specially<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( $name =~ /(.*)_id$/ ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my $aliased_as = $1;<br><br>Modified: Jifty-DBI/trunk/t/11schema_records.t<br>==============================================================================
<br>--- Jifty-DBI/trunk/t/11schema_records.t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(original)<br>+++ Jifty-DBI/trunk/t/11schema_records.t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thu Aug 16 15:59:16 2007<br>@@ -9,7 +9,7 @@<br> BEGIN { require &quot;t/utils.pl&quot; }<br> our (@available_drivers);
<br><br>-use constant TESTS_PER_DRIVER =&gt; 74;<br>+use constant TESTS_PER_DRIVER =&gt; 67;<br><br> my $total = scalar(@available_drivers) * TESTS_PER_DRIVER;<br> plan tests =&gt; $total;<br>@@ -193,20 +193,8 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is($ph-&gt;phone, &#39;7890&#39;);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is($phone_collection-&gt;next, undef);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>-<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is($emp-&gt;favorite_color-&gt;id, undef, &#39;emp 1 has no favorite color yet&#39;);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is($emp2-&gt;favorite_color-&gt;id, undef, &#39;emp 2 has no favorite color yet&#39;);
<br><br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $color = TestApp::Color-&gt;new( handle =&gt; $handle );<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $c_id = $color-&gt;create( employee =&gt; $emp, color =&gt; &#39;magenta&#39; );<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok($c_id, &quot;Got an id for the new color: $c_id&quot;);
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$color-&gt;load($c_id);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is($color-&gt;id, $c_id);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is($emp-&gt;favorite_color-&gt;id, $c_id, &#39;emp fave id matches color id&#39;);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$emp-&gt;favorite_color-&gt;set_color(&#39;cyan&#39;);
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is($emp-&gt;favorite_color-&gt;color, &#39;cyan&#39;, &#39;changed color to cyan&#39;);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$color-&gt;load($c_id);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is($color-&gt;color, &#39;cyan&#39;, &#39;changed the original too&#39;);
<br>+<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cleanup_schema( &#39;TestApp&#39;, $handle );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disconnect_handle( $handle );<br>@@ -228,14 +216,8 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id integer primary key,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; employee integer NOT NULL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; phone varchar(18)
<br>-)<br>-}, q{<br>-CREATE table colors (<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id integer primary key,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;employee integer NOT NULL,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color varchar(8)<br>-)<br>-} ]<br>+) }<br>+]<br> }<br><br> sub schema_mysql {<br>@@ -250,12 +232,6 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; employee integer NOT NULL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; phone varchar(18)<br> )<br>-}, q{<br>-CREATE TEMPORARY table colors (<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id integer AUTO_INCREMENT primary key,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;employee integer NOT NULL,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color varchar(8)
<br>-)<br> } ]<br> }<br><br>@@ -271,13 +247,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; employee integer references employees(id),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; phone varchar<br> )<br>-}, q{<br>-CREATE TEMPORARY table colors (<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id serial PRIMARY KEY,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;employee integer references employees(id),
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color varchar<br>-)<br>-}]<br>+} ]<br> }<br><br> package TestApp::PhoneCollection;<br>@@ -289,9 +259,6 @@<br>&nbsp;&nbsp;&nbsp;&nbsp; return $tab;<br> }<br><br>-package TestApp::Color;<br>-use base qw/Jifty::DBI::Record/;<br>-<br>
 package TestApp::Employee;<br> use base qw/Jifty::DBI::Record/;<br><br>@@ -300,7 +267,6 @@<br>&nbsp;&nbsp;&nbsp;&nbsp; use Jifty::DBI::Record schema {<br>&nbsp;&nbsp;&nbsp;&nbsp; column name =&gt; type is &#39;varchar&#39;;<br>&nbsp;&nbsp;&nbsp;&nbsp; column phones =&gt; references TestApp::PhoneCollection by &#39;employee&#39;;
<br>-&nbsp;&nbsp;&nbsp;&nbsp;column favorite_color =&gt; references TestApp::Color by &#39;employee&#39;;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br> }<br><br>@@ -321,19 +287,5 @@<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br> }<br><br>-package TestApp::Color;<br>-<br>-BEGIN {<br>-&nbsp;&nbsp;&nbsp;&nbsp;use Jifty::DBI::Schema;
<br>-&nbsp;&nbsp;&nbsp;&nbsp;use Jifty::DBI::Record schema{<br>-&nbsp;&nbsp;&nbsp;&nbsp;column employee =&gt; references TestApp::Employee;<br>-&nbsp;&nbsp;&nbsp;&nbsp;column color&nbsp;&nbsp;&nbsp;&nbsp;=&gt;<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type is &#39;varchar&#39;,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valid_values are qw/<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;white cyan magenta
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yellow green red black<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/; # don&#39;t like CGA? too bad<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-}<br><br> 1;<br>_______________________________________________<br>Jifty-commit mailing list<br><a href="mailto:Jifty-commit@lists.jifty.org">
Jifty-commit@lists.jifty.org</a><br><a href="http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-commit">http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-commit</a><br></blockquote></div><br>