<!-- 
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Mon May 20 12:22:18 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/DC-770/DC-770.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>[DC-770] Result Cache</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-770</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine result cache isn&apos;t working properly.&lt;/p&gt;

&lt;p&gt;Here a simple example, when I&apos;m calling query-&amp;gt;execute (); parentProgram is related to a video.&lt;br/&gt;
Into the Doctrine_Query_Abstract.php file&lt;/p&gt;

&lt;p&gt;line 1014 : I have just add some code to output data.&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;code&amp;#93;&lt;/span&gt;&lt;br/&gt;
            if ($cached === false) &lt;/p&gt;
{
                // cache miss
                $stmt = $this-&amp;gt;_execute($params);
                $this-&amp;gt;_hydrator-&amp;gt;setQueryComponents($this-&amp;gt;_queryComponents);
                $result = $this-&amp;gt;_hydrator-&amp;gt;hydrateResultSet($stmt, $this-&amp;gt;_tableAliasMap);
                $oVideo = $result[0];
                echo &quot;not cached &quot;;
                var_dump (count ($oVideo-&amp;gt;parentProgram-&amp;gt;getReferences ()));
                $cached = $this-&amp;gt;getCachedForm($result);
                $cacheDriver-&amp;gt;save($hash, $cached, $this-&amp;gt;getResultCacheLifeSpan());
            }
&lt;p&gt; else &lt;/p&gt;
{
                $result = $this-&amp;gt;_constructQueryFromCache($cached);
                $oVideo = $result[0];
                echo &quot;cached &quot;;
                var_dump (count ($oVideo-&amp;gt;parentProgram-&amp;gt;getReferences ()));
                exit (0);
                
            }
&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;/code&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;The output of a query execution (the first with an empty APC cache) with &quot;useResultCache&quot; is : &lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;not cached int(1)&lt;/li&gt;
	&lt;li&gt;cached int(0)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The problem is coming from the serialize php function that can&apos;t serialize protected properties..&lt;br/&gt;
getReferences is a getter to a protected property.. So data result can&apos;t work properly.&lt;/p&gt;

&lt;p&gt;A solution could be use __sleep function, and a public property that contain all important protected data.&lt;/p&gt;
</description>
                <environment></environment>
            <key id="11566">DC-770</key>
            <summary>Result Cache</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="armetiz">Thomas Tourlourat - Armetiz</reporter>
                        <labels>
                    </labels>
                <created>Tue, 29 Jun 2010 05:50:36 +0000</created>
                <updated>Tue, 29 Jun 2010 05:50:36 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>
</channel>
</rss>