I've added an after insert method modifier which calls discard_changes
for those result classes where I always want this to happen.

--
Best regards, Alex


On Wed, 2011-02-09 at 11:21 +0100, Dagfinn Ilmari Mannsåker wrote:
> Peter Rabbitson <[email protected]> writes:
>
> > Dagfinn Ilmari Mannsåker wrote:
> >> Peter Rabbitson <[email protected]> writes:
> >>
> >>> Skye Shaw wrote:
> >>>> Hello,
> >>>>
> >>>> Is it possible to have DBIC populate a newly created instance with the
> >>>> underlying table's defaults when a value isn't provided?
> >> [...]
> >>>> The answer appears to be no. If so, what's the reason for this behavior?
> >>> The reason is that having every insert be followed by a select is...
> >>> how shall I put it, insane?!
> >>
> >> We already use INSERT ... RETURNING ... to get the ID if the DB supports
> >> it, couldn't that be extended to get all the columns that weren't
> >> specified in the ->new/->create call?
> >
> > Right, and this will introduce an insane amount of broken code, since your
> > dev will work fine on a Pg version that supports IR, and will all of a
> > sudden stop working entirely in production on a different db or on an
> > older version of Pg, since now all the data you expected to be there is
> > suddenly UNDEF.
>
> I didn't mean to imply behaving differentely under different database
> drivers, just that the "insane" overhead of an extra select can be
> avoided for some of them.  Sorry about the ambiguous wording.
>
> >> [...]
> >>> Note that frew would be very happy if you contribute an "auto-retrieve
> >>> defaults" component to DBIx::Class::Helpers
> >>
> >> Hm, tempting... Just have to make sure not to interfere with DBIC's own
> >> use of RETURNING.
> >
> > The only way to go is with an optional component which provides you the
> > defaults *regardless* of what the db capabilities are (and does use IR when
> > it is supported by the storage for fastiness). As far as compatibility -
> > this is not a concern, if such a component materializes it is trivial to
> > provide the necessary hooks (if any are needed at all).
>
> Exactly.
>


*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
T-Systems Austria GesmbH   Rennweg 97-99, 1030 Wien
Handelsgericht Wien, FN 79340b
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
Notice: This e-mail contains information that is confidential and may be 
privileged.
If you are not the intended recipient, please notify the sender and then
delete this e-mail immediately.
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to