<!-- 
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Sun May 26 07:37:32 UTC 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://www.doctrine-project.org/jira/si/jira.issueviews:issue-xml/DDC-1599/DDC-1599.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Doctrine Project</title>
    <link>http://www.doctrine-project.org/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>5.2.7</version>
        <build-number>850</build-number>
        <build-date>21-02-2013</build-date>
    </build-info>

<item>
            <title>[DDC-1599] OnFlush event in transaction</title>
                <link>http://www.doctrine-project.org/jira/browse/DDC-1599</link>
                <project id="10032" key="DDC">Doctrine 2 - ORM</project>
                        <description>&lt;p&gt;Is there any particular reason why onFlush event is not triggered when the transaction is allready open? &lt;a href=&quot;https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/UnitOfWork.php#L290&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/UnitOfWork.php#L290&lt;/a&gt; It would help a lot developing listeners since this event is the mostly used one and since theres preFlush now it seems a logical solution if onFlush would be a start of transaction in general&lt;/p&gt;</description>
                <environment></environment>
            <key id="13357">DDC-1599</key>
            <summary>OnFlush event in transaction</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="gediminasm">Gediminas Morkevicius</reporter>
                        <labels>
                    </labels>
                <created>Sat, 14 Jan 2012 15:51:55 +0000</created>
                <updated>Thu, 20 Sep 2012 06:20:49 +0000</updated>
                                    <version>Git Master</version>
                                <fixVersion>2.4</fixVersion>
                                <component>ORM</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17244" author="beberlei" created="Sat, 14 Jan 2012 16:36:43 +0000"  >&lt;p&gt;onFluish is not the start of a transaction. It has nothing to do with this.&lt;/p&gt;</comment>
                    <comment id="17693" author="ocramius" created="Sat, 31 Mar 2012 02:07:52 +0000"  >&lt;p&gt;Is a third event needed? Or is this to be marked as &quot;won&apos;t fix&quot;?&lt;/p&gt;</comment>
                    <comment id="17695" author="beberlei" created="Sat, 31 Mar 2012 07:14:31 +0000"  >&lt;p&gt;Maybe onBeginTransaction, onCommit and onRollback.&lt;/p&gt;

&lt;p&gt;However since you can start transactions manually using $em-&amp;gt;beginTransaction(), the Flush events are somehwat independent of transactions anyways.&lt;/p&gt;</comment>
                    <comment id="17697" author="gediminasm" created="Sat, 31 Mar 2012 07:41:46 +0000"  >&lt;p&gt;Well, user can start transaction anytime, but the fact is that if we think ORM we do not know nothing about the database. we just persist and flush objects.&lt;/p&gt;

&lt;p&gt;Yes I think these would be very useful, from how I see it, if you use event listeners, is:&lt;/p&gt;

&lt;p&gt;loadClassMetadata: you can apply extra mapping&lt;/p&gt;

&lt;p&gt;onFlush: you can modify entity changesets, or persist recalculate new ones, without triggering the database, since it is not used to begin the database modifications yet.&lt;/p&gt;

&lt;p&gt;onBeginTransaction: could use the database modifications keeping in sync the entity changesets. the thing about this event is that usually in behavioral way atomic updates are required. for example nestedset tree sync lft rgt columns, sortable sync the sort index, materialized path, all these requires atomic updates, and the best place is the start of transaction.&lt;/p&gt;

&lt;p&gt;onCommit: could be useful to execute right before commit, finalizing database modifications could be done.&lt;/p&gt;

&lt;p&gt;onRollback: this one is really something, since if you go far, there might be something like files uploaded during the entity processing, and you may want to remove them if transaction fails.&lt;/p&gt;</comment>
                    <comment id="17958" author="guilhermeblanco" created="Mon, 21 May 2012 02:26:05 +0000"  >&lt;p&gt;This situation was barely documented here: &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DDC-1443&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DDC-1443&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We need a better Transaction API that completely fixes the computation of changesets and also allow more fine grained control over Entities and their corresponding information.&lt;/p&gt;

&lt;p&gt;I&apos;d postpone this one until 3.0.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>
</channel>
</rss>