<!--
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Sat May 18 10:01: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/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+DC+AND+resolution+%3D+Unresolved+AND+assignee+%3D+jwage+ORDER+BY+priority+DESC&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://www.doctrine-project.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Doctrine Project</title>
        <link>http://www.doctrine-project.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+DC+AND+resolution+%3D+Unresolved+AND+assignee+%3D+jwage+ORDER+BY+priority+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="351" total="351"/>
                <build-info>
            <version>5.2.7</version>
            <build-number>850</build-number>
            <build-date>21-02-2013</build-date>
        </build-info>
<item>
            <title>[DC-918] Causing ORA-01791 when try to sort on relation field and use limit in query to Oracle DB</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-918</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;&lt;b&gt;Schema in yml format&lt;/b&gt;&lt;br/&gt;
&lt;em&gt;in Symfony it looks more simple, but i&apos;m going to show relation in detail&lt;/em&gt;
&lt;br class=&quot;atl-forced-newline&quot; /&gt;
&lt;br class=&quot;atl-forced-newline&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-javascript&quot;&gt;PrType:
  columns:   
    name:                   { type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }                          

PrTypeTranslation:
  columns:   
    id:                     { type: integer, notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
    name:                   { type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
    lang:                   { type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
  relations:
    PrType:                 { onDelete: CASCADE, local: id_id, foreign: id, foreignAlias: Translation }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When i try to execute this code:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-javascript&quot;&gt;   $q = Doctrine_Query::create()
            -&amp;gt;from(&apos;PrType tp&apos;)
            -&amp;gt;leftJoin(&apos;tp.Translation t WITH t.lang = ?&apos;, &apos;ru&apos;)
            -&amp;gt;orderBy(&apos;t.name&apos;)
            -&amp;gt;limit(10);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;doctrine executes next statement:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-sql&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;SELECT&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;p2&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; AS &lt;span class=&quot;code-quote&quot;&gt;&quot;p2__name&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;p2&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;lang&quot;&lt;/span&gt; AS &lt;span class=&quot;code-quote&quot;&gt;&quot;p2__lang&quot;&lt;/span&gt;
&lt;span class=&quot;code-keyword&quot;&gt;FROM&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;pr_type&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p&quot;&lt;/span&gt;
LEFT JOIN &lt;span class=&quot;code-quote&quot;&gt;&quot;pr_type_translation&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p2&quot;&lt;/span&gt; ON &lt;span class=&quot;code-quote&quot;&gt;&quot;p&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; = &lt;span class=&quot;code-quote&quot;&gt;&quot;p2&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; AND (&lt;span class=&quot;code-quote&quot;&gt;&quot;p2&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;lang&quot;&lt;/span&gt; = :oci_b_var_1)
&lt;span class=&quot;code-keyword&quot;&gt;WHERE&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; IN (
              &lt;span class=&quot;code-keyword&quot;&gt;SELECT&lt;/span&gt; a.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;FROM&lt;/span&gt; ( 
                          &lt;span class=&quot;code-keyword&quot;&gt;SELECT&lt;/span&gt; DISTINCT &lt;span class=&quot;code-quote&quot;&gt;&quot;p3&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;
                          &lt;span class=&quot;code-keyword&quot;&gt;FROM&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;pr_type&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p3&quot;&lt;/span&gt;
                          INNER JOIN &lt;span class=&quot;code-quote&quot;&gt;&quot;pr_type_translation&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p4&quot;&lt;/span&gt; ON &lt;span class=&quot;code-quote&quot;&gt;&quot;p3&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; = &lt;span class=&quot;code-quote&quot;&gt;&quot;p4&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; AND (&lt;span class=&quot;code-quote&quot;&gt;&quot;p4&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;lang&quot;&lt;/span&gt; = &apos;ru&apos;) 
                          ORDER &lt;span class=&quot;code-keyword&quot;&gt;BY&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p4&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; ) a 
                          &lt;span class=&quot;code-keyword&quot;&gt;WHERE&lt;/span&gt; ROWNUM &amp;lt;= 10) 
ORDER &lt;span class=&quot;code-keyword&quot;&gt;BY&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;p2&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;This sql code produces next error&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;ORA-01791: not a SELECTed expression
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Error occures, because (from ORACODE)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There is an incorrect ORDER BY item. The query is a SELECT DISTINCT query with an ORDER BY clause. In this context, all ORDER BY items must be constants, SELECT list expressions, or expressions whose operands are constants or SELECT list expressions&lt;/p&gt;&lt;/blockquote&gt;
</description>
                <environment>Windows 2003 Server, Oracle 10g, Symfony 1.4.8</environment>
            <key id="12072">DC-918</key>
            <summary>Causing ORA-01791 when try to sort on relation field and use limit in query to Oracle DB</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="dmishh">Dmitriy</reporter>
                        <labels>
                    </labels>
                <created>Sat, 6 Nov 2010 07:02:53 +0000</created>
                <updated>Sat, 6 Nov 2010 08:48:17 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Query</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14676" author="dmishh" created="Sat, 6 Nov 2010 07:04:10 +0000"  >&lt;p&gt;Some very similar issue were reported and resolved here &lt;a href=&quot;http://trac.doctrine-project.org/ticket/1038&quot; class=&quot;external-link&quot;&gt;http://trac.doctrine-project.org/ticket/1038&lt;/a&gt;.&lt;/p&gt;</comment>
                    <comment id="14678" author="dmishh" created="Sat, 6 Nov 2010 08:46:45 +0000"  >&lt;p&gt;Reason of issue was founded. It appears because i&apos;m using oci8 driver, and this drivername not be listed in &lt;em&gt;if&lt;/em&gt; statement on line 1401 in &lt;b&gt;Doctrine/Query.php&lt;/b&gt;:
&lt;br class=&quot;atl-forced-newline&quot; /&gt;
&lt;br class=&quot;atl-forced-newline&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;LINE 1401: &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($driverName == &apos;pgsql&apos; || $driverName == &apos;oracle&apos; || $driverName == &apos;oci&apos; || $driverName == &apos;mssql&apos; || $driverName == &apos;odbc&apos;) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I changed to:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;LINE 1401: &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($driverName == &apos;pgsql&apos; || $driverName == &apos;oracle&apos; || $driverName == &apos;oci&apos; || $driverName == &apos;oci8&apos; || $driverName == &apos;mssql&apos; || $driverName == &apos;odbc&apos;) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Sorry, but i don&apos;t know how to create patch diff file.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-860]  0  down vote  favorite    In some circumstances Doctrine_Core::getTable(&apos;%Name%&apos;) returns Doctrine_Table instance instead of %Name%Table one.</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-860</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In some circumstances Doctrine_Core::getTable(&apos;%Name%&apos;) returns Doctrine_Table instance instead of %Name%Table one.&lt;br/&gt;
So custom %Name%Table&apos;s methods become unavailable. &lt;/p&gt;

&lt;p&gt;In order to give a demonstration of this improper behavior : here is a schema of small issue tracking system&lt;/p&gt;

&lt;p&gt;User:&lt;br/&gt;
  actAs: &lt;span class=&quot;error&quot;&gt;&amp;#91;Timestampable&amp;#93;&lt;/span&gt;&lt;br/&gt;
  tableName: issue_user&lt;br/&gt;
  columns:&lt;br/&gt;
    user_id:        &lt;/p&gt;
{ type: integer, primary: true, autoincrement: true }
&lt;p&gt;    user_name:      &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    user_role:      &lt;/p&gt;
{ type: enum, values: [worker, dispatcher, manager] }
&lt;p&gt;    managed_by:     &lt;/p&gt;
{ type: integer }
&lt;p&gt;    password:       &lt;/p&gt;
{ type: string(32) }
&lt;p&gt;    salt:           &lt;/p&gt;
{ type: string(32) }
&lt;p&gt;  relations:&lt;br/&gt;
    Manager:&lt;br/&gt;
      foreignAlias: Workers&lt;br/&gt;
      class: User&lt;br/&gt;
      local: managed_by&lt;br/&gt;
      foreign: user_id&lt;br/&gt;
      type: one&lt;br/&gt;
      foreignType: many&lt;/p&gt;

&lt;p&gt;Issue:&lt;br/&gt;
  actAs: &lt;span class=&quot;error&quot;&gt;&amp;#91;Timestampable&amp;#93;&lt;/span&gt;&lt;br/&gt;
  columns:&lt;br/&gt;
    issue_id:        &lt;/p&gt;
{ type: integer, primary: true, autoincrement: true }
&lt;p&gt;    from_ceh:        &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    from_name:       &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    from_phone:      &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    from_location:   &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    comp_name:       &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    comp_serial:     &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    comp_os:         &lt;/p&gt;
{ type: enum, values: [Win95, Win98, WinNT, WinME, Win2000, WinXP, Vista, Win7] }
&lt;p&gt;    issue_title:     &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    comment:         &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    owner_id:        &lt;/p&gt;
{ type: integer }
&lt;p&gt;    is_executed:     &lt;/p&gt;
{ type: bool }
&lt;p&gt;  relations:&lt;br/&gt;
    Owner:&lt;br/&gt;
      onDelete: CASCADE&lt;br/&gt;
      foreignAlias: Issues&lt;br/&gt;
      class: User&lt;br/&gt;
      local: owner_id&lt;br/&gt;
      foreign: user_id&lt;br/&gt;
      type: one&lt;br/&gt;
      foreignType: many&lt;/p&gt;

&lt;p&gt;When I just call Doctrine_Core::getTable(&apos;User&apos;) it returns UserTable instance, but if I call it after such a query:&lt;/p&gt;

&lt;p&gt;Doctrine_Query::create()&lt;br/&gt;
        -&amp;gt;select(&apos;u.user_id, ws.user_id, i.*&apos;)&lt;br/&gt;
        -&amp;gt;from(&apos;User u, u.Workers ws, ws.Issues i&apos;)&lt;br/&gt;
        -&amp;gt;where(&apos;u.user_id=&apos;, $manager_id)&lt;br/&gt;
        -&amp;gt;fetchArray();&lt;/p&gt;

&lt;p&gt;calling Doctrine_Core::getTable(&apos;User&apos;) returns Doctrine_Table instance&lt;/p&gt;</description>
                <environment>WinXP, Apache, PHP 5.2.14</environment>
            <key id="11888">DC-860</key>
            <summary> 0  down vote  favorite    In some circumstances Doctrine_Core::getTable(&apos;%Name%&apos;) returns Doctrine_Table instance instead of %Name%Table one.</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="hongkildong">Hong Kil Dong</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Sep 2010 11:49:01 +0000</created>
                <updated>Mon, 6 Sep 2010 12:13:35 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1021] i am executing doctrine type query i am geting error  please gave me reply</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1021</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;$query = new Doctrine_Query();&lt;br/&gt;
$query-&amp;gt;select(&apos;e.entity_name,e.entity_id,s.id,s.parent_id,e.ffc_entity_id,c.country_id,c.country_name&apos;)&lt;br/&gt;
//$query-&amp;gt;select(&apos;e.entity_name,e.entity_id,s.id,s.parent_id,e.ffc_entity_id,ea.Country&apos;)&lt;br/&gt;
-&amp;gt;from(&apos;Entities e&apos;)&lt;br/&gt;
-&amp;gt;leftJoin(&apos;e.EntityAddresses ea ON ea.entity_id = e.entity_id AND ea.address_type =&quot;M&quot;&apos;)&lt;br/&gt;
-&amp;gt;leftJoin(&apos;ea.Country c ON ea.country = c.country_id&apos;)&lt;br/&gt;
-&amp;gt;leftJoin(&apos;e.ActiveFactories s&apos;)&lt;br/&gt;
-&amp;gt;where(&apos;e.status=1&apos;);&lt;br/&gt;
if(!empty($alpha))&lt;br/&gt;
{&lt;br/&gt;
$query-&amp;gt;andWhere(&quot;e.entity_name like &apos;&quot;.$alpha.&quot;%&apos;&quot;);&lt;br/&gt;
}&lt;br/&gt;
$query-&amp;gt;andWhere(&quot;s.company_id=&quot;.$parentId)&lt;br/&gt;
-&amp;gt;andWhere(&quot;e.entity_type=2&quot;)&lt;br/&gt;
-&amp;gt;andWhere(&apos;s.status=1&apos;)&lt;br/&gt;
-&amp;gt;groupBy(&apos;e.entity_id&apos;);&lt;/p&gt;</description>
                <environment>windows ,wamp,php</environment>
            <key id="12849">DC-1021</key>
            <summary>i am executing doctrine type query i am geting error  please gave me reply</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="rajani">cherukuri</reporter>
                        <labels>
                    </labels>
                <created>Sun, 24 Jul 2011 15:05:33 +0000</created>
                <updated>Sun, 24 Jul 2011 15:05:33 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.4</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-962] Broken logic when doctrine translates limit&apos;s into subqueries, with joins. (with patch)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-962</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Problem exists when Doctrine formulates a subquery to perform a limit when a join in included.&lt;/p&gt;

&lt;p&gt;The problem is that the where clause that doctrine creates for the subquery (the WHERE IN clause) is inserted as the first where clause.&lt;br/&gt;
This will break the parameter duplicate done at Doctrine_Query_Abstract:969, as the order of the parameters is now wrong.&lt;/p&gt;

&lt;p&gt;Consider:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
select * from table
join metadata WITH c = ?
where a = ? and b = ?
limit 1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;with parameters be (1, 2, 3)&lt;/p&gt;

&lt;p&gt;Doctrine will translate this to&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
select * from table
join metadata WITH c = ?
where table.id IN (
    select id from table
    join metadata WITH c = ?
    where a = ? and b = ?
    limit 1
)
and a = ? and b = ?
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Doctrine will duplicate the params (Doctrine_Query_Abstract:969) to (1, 2, 3, 1, 2, 3), but now they are in the wrong order completely.&lt;br/&gt;
They should be (1,1,2,3,2,3).&lt;/p&gt;

&lt;p&gt;The easy fix is to move the limit subquery to the LAST where clause, which would reuslt in a query like so:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
select * from table
join metadata WITH c = ?
where a = ? and b = ?
and table.id IN (
    select id from table
    join metadata WITH c = ?
    where a = ? and b = ?
    limit 1
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Attached is a patch to fix this issue, along with a patch that fixes all unit tests referring to the old query format.&lt;/p&gt;</description>
                <environment>All</environment>
            <key id="12347">DC-962</key>
            <summary>Broken logic when doctrine translates limit&apos;s into subqueries, with joins. (with patch)</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="ben.davies">Ben Davies</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Feb 2011 10:11:22 +0000</created>
                <updated>Wed, 2 Feb 2011 10:19:59 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="15207" author="ben.davies" created="Wed, 2 Feb 2011 10:19:59 +0000"  >&lt;p&gt;upping to blocker since this breaks very basic queries&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10926" name="Query.php.patch" size="1381" author="ben.davies" created="Wed, 2 Feb 2011 10:11:22 +0000" />
                    <attachment id="10927" name="Tests.patch" size="17500" author="ben.davies" created="Wed, 2 Feb 2011 10:11:22 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-952] Non-Equal Nest Relations Not Working - from &quot;Children&quot; side</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-952</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I&apos;ve copy &amp;amp; pasted example from &lt;a href=&quot;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/defining-models/1_0#relationships:join-table-associations:self-referencing-nest-relations:non-equal-nest-relations&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/defining-models/1_0#relationships:join-table-associations:self-referencing-nest-relations:non-equal-nest-relations&lt;/a&gt; .&lt;br/&gt;
I&apos;ve created User backend module using doctrine:generate-admin backend User task. On how to reproduce the error:&lt;/p&gt;

&lt;p&gt;1. Add 3 User objects (A,B,C)&lt;br/&gt;
2. Open generated edit form for User A.&lt;br/&gt;
3. Set User B as Children from Children list and Save&lt;br/&gt;
4. Set User B and C as Chidren from Children list and Save&lt;/p&gt;

&lt;p&gt;As a result you will see only C set as Children, and strange situation in database : &lt;/p&gt;

&lt;p&gt;UserReference Table:&lt;/p&gt;

&lt;p&gt;parent_id  |  child_id&lt;br/&gt;
    pk_B      |    pk_B       (!!!)&lt;br/&gt;
    pk_A      |    pk_C&lt;/p&gt;
</description>
                <environment>Ubuntu 10.04 + PHP 5.3.3 + Symfony 1.4.8</environment>
            <key id="12278">DC-952</key>
            <summary>Non-Equal Nest Relations Not Working - from &quot;Children&quot; side</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="pawelbaranski">Pawe&#322; Bara&#324;ski</reporter>
                        <labels>
                    </labels>
                <created>Mon, 3 Jan 2011 10:15:37 +0000</created>
                <updated>Thu, 24 Mar 2011 04:59:10 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                <component>Relations</component>
                        <due></due>
                    <votes>4</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="15111" author="pawelbaranski" created="Thu, 6 Jan 2011 09:41:02 +0000"  >&lt;p&gt;Same ticket on symfony trac because I&apos;m not sure whose fault is it &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://trac.symfony-project.org/ticket/9398&quot; class=&quot;external-link&quot;&gt;http://trac.symfony-project.org/ticket/9398&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also some new error path there&lt;/p&gt;</comment>
                    <comment id="15574" author="bigbadbassman" created="Thu, 24 Mar 2011 04:56:07 +0000"  >&lt;p&gt;Test Case of Non-Equal Self-Referencing Relations, based on #&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-329&quot; title=&quot;Problem saving Self Referencing (Nest Relations)&quot;&gt;DC-329&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Failure occures in line 75 of the test case file. This should not happen!&lt;br/&gt;
Only the parent object is modified in line 73 and saving should not interfere with the relations.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10958" name="DC952TestCase.php" size="4075" author="bigbadbassman" created="Thu, 24 Mar 2011 04:56:07 +0000" />
                </attachments>
            <subtasks>
            <subtask id="12323">DC-958</subtask>
        </subtasks>
        </item>

<item>
            <title>[DC-1034] ORA-00904 in Doctrine_Connection_Oracle</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1034</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When i execute this code:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
$q = Doctrine_Query::create()
            -&amp;gt;from(&apos;AGENT ag&apos;)
            -&amp;gt;leftJoin(&apos;ag.CHANTIER_AGENT cag)
            -&amp;gt;orderBy(&apos;ag.nom&apos;)
            -&amp;gt;limit(10)
            -&amp;gt;offset(10)
            -&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Doctrine executes :&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
SELECT a.pk AS a__pk, a.ts AS a__ts, a.ck_agent AS a__ck_agent, a.matricule AS a__matricule, a.nom AS a__nom, a.prenom AS a__prenom, a.agent_maitrise AS a__agent_maitrise, 
c.pk AS c__pk, c.ts AS c__ts, c.ck_chantier_agent AS c__ck_chantier_agent, c.ek_chantier AS c__ek_chantier, c.fk_chantier AS c__fk_chantier, c.ek_agent AS c__ek_agent, c.fk_agent AS c__fk_agent 
FROM AGENT a 
LEFT JOIN CHANTIER_AGENT c ON a.ck_agent = c.ek_agent 
WHERE a.ck_agent IN 
(SELECT b.ck_agent 
FROM ( SELECT a.*, ROWNUM AS doctrine_rownum 
FROM ( SELECT DISTINCT a2.ck_agent, a2.nom FROM AGENT a2 LEFT JOIN CHANTIER_AGENT c2 ON a2.ck_agent = c2.ek_agent ORDER BY a2.nom ) 
a2 ) 
b 
WHERE doctrine_rownum BETWEEN 11 AND 20) 
ORDER BY a.nom
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;The problem is in function _createLimitSubquery in Doctrine_Connection_Oracle :&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
                    $query= &apos;SELECT &apos;.$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;b&apos;).&apos;.&apos;.$column.&apos; FROM ( &apos;.
                                 &apos;SELECT &apos;.$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;a&apos;).&apos;.*, ROWNUM AS doctrine_rownum FROM ( &apos;
                                   . $query . &apos; ) &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;a&apos;) . &apos; &apos;.
                              &apos; ) &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;b&apos;) . &apos; &apos;.
                              &apos;WHERE doctrine_rownum BETWEEN &apos; . $min .  &apos; AND &apos; . $max;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Error occures, because table name is  AGENT and Doctrine give the first letter of the table name for identifier. &lt;br/&gt;
To correct this. Use more than one letter in the quoteIdentifier.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
                    $query = &apos;SELECT &apos;.$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;limb&apos;).&apos;.&apos;.$column.&apos; FROM ( &apos;.
                                 &apos;SELECT &apos;.$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;lima&apos;).&apos;.*, ROWNUM AS doctrine_rownum FROM ( &apos;
                                   . $query . &apos; ) &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;lima&apos;) . &apos; &apos;.
                              &apos; ) &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier(&apos;limb&apos;) . &apos; &apos;.
                              &apos;WHERE doctrine_rownum BETWEEN &apos; . $min .  &apos; AND &apos; . $max;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; </description>
                <environment>Windows 7 64 bits, PHP 5.2.11, Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi, Symfony 1.4.13&lt;br/&gt;
</environment>
            <key id="12987">DC-1034</key>
            <summary>ORA-00904 in Doctrine_Connection_Oracle</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="jayson">Jayson LE PAPE</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Sep 2011 08:43:20 +0000</created>
                <updated>Thu, 1 Sep 2011 08:43:20 +0000</updated>
                                    <version>1.2.4</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1035] ORA-01791 due to bad driver name in Doctrine_Adapter_Oracle</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1035</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When i execute this code:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
$q = Doctrine_Query::create()
            -&amp;gt;from(&apos;AGENT ag&apos;)
            -&amp;gt;leftJoin(&apos;ag.CHANTIER_AGENT cag)
            -&amp;gt;orderBy(&apos;ag.nom&apos;)
            -&amp;gt;limit(10)
            -&amp;gt;execute();
$q2 = Doctrine_Query::create()
            -&amp;gt;from(&apos;AGENT ag&apos;)
            -&amp;gt;leftJoin(&apos;ag.CHANTIER_AGENT cag)
            -&amp;gt;orderBy(&apos;ag.nom&apos;)
            -&amp;gt;limit(10)
            -&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Doctrine executes :&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
SELECT a.pk AS a__pk, a.ts AS a__ts, a.ck_agent AS a__ck_agent, a.matricule AS a__matricule, a.nom AS a__nom, 
a.prenom AS a__prenom, a.agent_maitrise AS a__agent_maitrise, c.pk AS c__pk, c.ts AS c__ts, c.ck_chantier_agent AS c__ck_chantier_agent, 
c.ek_chantier AS c__ek_chantier, c.fk_chantier AS c__fk_chantier, c.ek_agent AS c__ek_agent, c.fk_agent AS c__fk_agent 
FROM AGENT a 
LEFT JOIN CHANTIER_AGENT c ON a.ck_agent = c.ek_agent 
WHERE a.ck_agent IN (
SELECT a2.ck_agent FROM ( 
SELECT DISTINCT a2.ck_agent, a2.nom FROM AGENT a2 LEFT JOIN CHANTIER_AGENT c2 ON a2.ck_agent = c2.ek_agent ORDER BY a2.nom ) 
a2 WHERE ROWNUM &amp;lt;= 10) ORDER BY a.nom

SELECT a.pk AS a__pk, a.ts AS a__ts, a.ck_agent AS a__ck_agent, a.matricule AS a__matricule, a.nom AS a__nom, 
a.prenom AS a__prenom, a.agent_maitrise AS a__agent_maitrise, c.pk AS c__pk, c.ts AS c__ts, c.ck_chantier_agent AS c__ck_chantier_agent, 
c.ek_chantier AS c__ek_chantier, c.fk_chantier AS c__fk_chantier, c.ek_agent AS c__ek_agent, c.fk_agent AS c__fk_agent 
FROM AGENT a 
LEFT JOIN CHANTIER_AGENT c ON a.ck_agent = c.ek_agent 
WHERE a.ck_agent IN (
SELECT a2.ck_agent FROM ( 
SELECT DISTINCT a2.ck_agent FROM AGENT a2 LEFT JOIN CHANTIER_AGENT c2 ON a2.ck_agent = c2.ek_agent ORDER BY a2.nom ) 
a2 WHERE ROWNUM &amp;lt;= 10) ORDER BY a.nom
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;This causes &quot;Oracle DB Error ORA-01791 not a SELECTed expression&quot; because the sql query don&apos;t have a2.nom in SELECT DISTINCT and it&apos;s indispensable for ORDER BY a2.nom&lt;br/&gt;
The problem is caused by the variable $attributes in Doctrine_Adapter_Oracle :&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $attributes = array(Doctrine_Core::ATTR_DRIVER_NAME    =&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;oci8&quot;&lt;/span&gt;,
                                  Doctrine_Core::ATTR_ERRMODE        =&amp;gt; Doctrine_Core::ERRMODE_SILENT);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The problem is in Query.php line 1417 : &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;	&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($driverName == &apos;pgsql&apos; || $driverName == &apos;oracle&apos; || $driverName == &apos;oci&apos; || $driverName == &apos;mssql&apos; || $driverName == &apos;odbc&apos;) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The driver name declared in Doctrine_Adapter_Oracle not in this conditional. &lt;br/&gt;
To resolve this we have to modify the declaration of $attributes in Doctrine_Adapter_Oracle to :&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $attributes = array(Doctrine_Core::ATTR_DRIVER_NAME    =&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;oracle&quot;&lt;/span&gt;,
                                  Doctrine_Core::ATTR_ERRMODE        =&amp;gt; Doctrine_Core::ERRMODE_SILENT);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;An other problem is probably located at line 1409 &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (($driverName == &apos;oracle&apos; || $driverName == &apos;oci&apos;) &amp;amp;&amp;amp; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_isOrderedByJoinedColumn()) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and 1497&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (($driverName == &apos;oracle&apos; || $driverName == &apos;oci&apos;) &amp;amp;&amp;amp; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_isOrderedByJoinedColumn()) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;if don&apos;t correct the declaration of $attributes in Doctrine_Adapter_Oracle.&lt;/p&gt;</description>
                <environment>Windows 7 64 bits, PHP 5.2.11, Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi, Symfony 1.4.13</environment>
            <key id="12988">DC-1035</key>
            <summary>ORA-01791 due to bad driver name in Doctrine_Adapter_Oracle</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="jayson">Jayson LE PAPE</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Sep 2011 09:30:57 +0000</created>
                <updated>Thu, 1 Sep 2011 09:31:24 +0000</updated>
                                    <version>1.2.4</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1031] CLONE -Multiple connections and i18n (raised as unresolved - original ticket marked as resolved)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1031</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I used to work with a single database named &quot;doctrine&quot;. The query was working properly.&lt;/p&gt;

&lt;p&gt;I then decided to use 2 databases so I got my schema like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;connection: doctrine&lt;/p&gt;

&lt;p&gt;Category:&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      actAs:&lt;br/&gt;
        Sluggable:&lt;br/&gt;
          fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;name&amp;#93;&lt;/span&gt;&lt;br/&gt;
        Timestampable: ~&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;name, description&amp;#93;&lt;/span&gt;&lt;br/&gt;
  columns:&lt;br/&gt;
    id: ~&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    description: string&lt;/p&gt;

&lt;p&gt;User:&lt;br/&gt;
  connection: second&lt;br/&gt;
  columns:&lt;br/&gt;
    id: ~&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
      notnull: true&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I did setup my connections in config/databases.yml this way:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;all:&lt;br/&gt;
  doctrine:&lt;br/&gt;
   // ....&lt;br/&gt;
  second:&lt;br/&gt;
   // ....&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;build-model, build-forms, build-filters and cc got ran. But now, I got an exception saying the &quot;Translation&quot; relation doesn&apos;t exist. The Base Models include correctly the bindComponent line:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Doctrine_Manager::getInstance()-&amp;gt;bindComponent(&apos;Category&apos;, &apos;doctrine&apos;);&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;For now, I managed to kind of fixing it with simply swapping the databases order in my config/databases.yml and it&apos;s now working again perfectly.&lt;/p&gt;

&lt;p&gt;I forgot to mention that in the CategoryTable when i call $this-&amp;gt;getConnection()-&amp;gt;getName(), it outputs &quot;second&quot;&lt;/p&gt;</description>
                <environment>MySQL 5.1.37&lt;br/&gt;
PHP 5.2.11&lt;br/&gt;
symfony 1.2.11 DEV&lt;br/&gt;
&lt;br/&gt;
symfony 1.4.13&lt;br/&gt;
PHP 5.3.6 &lt;br/&gt;
Postgres 8.4.8&lt;br/&gt;
</environment>
            <key id="12962">DC-1031</key>
            <summary>CLONE -Multiple connections and i18n (raised as unresolved - original ticket marked as resolved)</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="sarcas">James Bell</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Aug 2011 14:26:27 +0000</created>
                <updated>Wed, 28 Mar 2012 08:20:53 +0000</updated>
                                    <version>1.2.2</version>
                <version>1.2.3</version>
                                <fixVersion>1.2.3</fixVersion>
                                <component>Connection</component>
                <component>I18n</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16370" author="sarcas" created="Tue, 23 Aug 2011 14:28:15 +0000"  >&lt;p&gt;Original issue: &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-363&quot; title=&quot;Multiple connections and i18n&quot;&gt;&lt;del&gt;DC-363&lt;/del&gt;&lt;/a&gt; (&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-363&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-363&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;There are some additional comments in there that explain the issue as currently being seen in released versions of Doctrine 1.2. Can I help verify that this is the same ticket? &lt;/p&gt;

&lt;p&gt;What is needed to help with debug (in addition to the extra information already provided)?&lt;/p&gt;
</comment>
                    <comment id="17664" author="lvqingan" created="Wed, 28 Mar 2012 08:20:53 +0000"  >&lt;p&gt;meet the same issue and it really blocked my project, seems no one will maintain 1.x. I&apos;m considering whether to replace symfony 1.4 with 2.0.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1025] Doctrine is unable to handle table names with spaces</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1025</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When trying to query a table which contains spaces I get the following exception&lt;/p&gt;

&lt;p&gt;I have attached an simple example to reproduce&lt;/p&gt;


&lt;p&gt;C:\Documents and Settings\daniel\Dokumenter\NetBeansProjects\test&amp;gt;php doctrineTest.php&lt;/p&gt;

&lt;p&gt;Fatal error: Uncaught exception &apos;Doctrine_Query_Exception&apos; with message &apos;Unknown table alias with&apos; in C:\Doctrine-1.2.3\Doctrine\Query\Abstract.php:856&lt;br/&gt;
Stack trace:&lt;br/&gt;
#0 C:\Doctrine-1.2.3\Doctrine\Query.php(1022): Doctrine_Query_Abstract-&amp;gt;getComponentAlias(&apos;with&apos;)&lt;br/&gt;
#1 C:\Doctrine-1.2.3\Doctrine\Query.php(1239): Doctrine_Query-&amp;gt;_buildSqlFromPart()&lt;br/&gt;
#2 C:\Doctrine-1.2.3\Doctrine\Query.php(1133): Doctrine_Query-&amp;gt;buildSqlQuery(true)&lt;br/&gt;
#3 C:\Doctrine-1.2.3\Doctrine\Query\Abstract.php(958): Doctrine_Query-&amp;gt;getSqlQuery(Array)&lt;br/&gt;
#4 C:\Doctrine-1.2.3\Doctrine\Query\Abstract.php(1026): Doctrine_Query_Abstract-&amp;gt;_execute(Array)&lt;br/&gt;
#5 C:\Documents and Settings\daniel\Dokumenter\NetBeansProjects\test\doctrineTest.php(18): Doctrine_Query_Abstract-&amp;gt;execute()&lt;br/&gt;
#6 &lt;/p&gt;
{main}
&lt;p&gt;  thrown in C:\Doctrine-1.2.3\Doctrine\Query\Abstract.php on line 856&lt;/p&gt;</description>
                <environment>PHP Version 5.2.14&lt;br/&gt;
Apache 2&lt;br/&gt;
MySQL&lt;br/&gt;
Windows Xp</environment>
            <key id="12892">DC-1025</key>
            <summary>Doctrine is unable to handle table names with spaces</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="sajbar">Daniel Borg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 2 Aug 2011 07:43:13 +0000</created>
                <updated>Tue, 2 Aug 2011 10:37:03 +0000</updated>
                                    <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11041" name="doctrineTest.php" size="509" author="sajbar" created="Tue, 2 Aug 2011 07:43:14 +0000" />
                    <attachment id="11042" name="tbl.php" size="810" author="sajbar" created="Tue, 2 Aug 2011 07:43:14 +0000" />
                    <attachment id="11043" name="tbl_1.php" size="234" author="sajbar" created="Tue, 2 Aug 2011 07:43:14 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1040] allow queries with table joins across different databases</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1040</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I&apos;m currently working on a project which relies upon several databases declared in databases.yml in symfony 1.4.8.&lt;/p&gt;

&lt;p&gt;I was facing an issue that has already been raised by other people, namely that you can&apos;t join tables which reference each other among different mysql databases.&lt;/p&gt;

&lt;p&gt;I&apos;ve dug a bit in the Doctrine_Query class and came to a solution that is acceptable for us, and allows now to make joins accross databases. Description follows :&lt;/p&gt;

&lt;p&gt;first change is in the Doctrine_Core class, that gets stuffed with a new constant :&lt;br/&gt;
const ATTR_DATABASE_NAME                = 0x1DB;&lt;/p&gt;

&lt;p&gt;this constant allows us to add a new attribute to the databases.yml file as in :&lt;br/&gt;
  gesdoc:&lt;br/&gt;
    class: sfDoctrineDatabase&lt;br/&gt;
    param:&lt;br/&gt;
      dsn:      mysql:host=127.0.0.1;dbname=gesdoc&lt;br/&gt;
      username: root&lt;br/&gt;
      password: &lt;br/&gt;
      attributes:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;************* NEW ATTRIBUTE BELOW ************&lt;br/&gt;
        database_name: gesdoc&lt;br/&gt;
        default_table_collate: utf8_general_ci&lt;br/&gt;
        default_table_charset: utf8&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;after that, a few changes have been done in the Doctrine_Query class which is attached to this issue for the sake of readability.&lt;/p&gt;

&lt;p&gt;This may not be optimal, and probably need some regression testing, but it is currently working fine on our test server.&lt;/p&gt;

&lt;p&gt;after this is done, I was able to issue queries like the following :&lt;br/&gt;
    $x = DocumentTable::getInstance()-&amp;gt;createQuery(&apos;d&apos;)&lt;br/&gt;
                                     -&amp;gt;distinct()&lt;br/&gt;
                                     -&amp;gt;leftJoin(&apos;d.Travail t&apos;)&lt;br/&gt;
                                     -&amp;gt;leftJoin(&apos;t.CdcIndInt ci&apos;)&lt;br/&gt;
                                     -&amp;gt;leftJoin(&apos;ci.CdcIndExt ce&apos;)&lt;br/&gt;
                                     -&amp;gt;leftJoin(&apos;ce.Cahierdescharge cdc&apos;)&lt;br/&gt;
                                     -&amp;gt;where(&apos;cdc.cdc_chro = ?&apos;, $cdc_chro)&lt;br/&gt;
                                    -&amp;gt;addWhere(&apos;d.id != ?&apos;, $document_id)&lt;br/&gt;
                                    -&amp;gt;execute();&lt;/p&gt;

&lt;p&gt;where the referenced tables are in different databases. The necessary object binding has been done in every model class following the paradigm :&lt;/p&gt;

&lt;p&gt;Doctrine_Manager::getInstance()-&amp;gt;bindComponent(&apos;CdcIndInt &apos;, &apos;gescdc&apos;);&lt;br/&gt;
abstract class BaseCdcIndInt extends sfDoctrineRecord&lt;br/&gt;
{&lt;br/&gt;
...&lt;br/&gt;
}&lt;/p&gt;


&lt;p&gt;I don&apos;t know if this description is clear enough, so let me know if something is missing/wrong.&lt;/p&gt;</description>
                <environment>Windows XP SP3, Apache 2, PHP 5.3, MySQL 5.1.36, Symfony 1.4.8, Doctrine 1.2.3</environment>
            <key id="13198">DC-1040</key>
            <summary>allow queries with table joins across different databases</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</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="fabrice.agnello">Fabrice Agnello</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Nov 2011 14:42:03 +0000</created>
                <updated>Thu, 17 Nov 2011 14:42:03 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="11111" name="Query.php" size="86043" author="fabrice.agnello" created="Thu, 17 Nov 2011 14:42:03 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-313] Ordering m2m relationship with column from related table (with orderBy option)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-313</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I find no way to define automatic orderBy in m2m relations with column not from reference table, but actual related table.&lt;/p&gt;

&lt;p&gt;E.g. BlogPost &amp;lt;= m2m through BlogPostCategory =&amp;gt; BlogCategory&lt;br/&gt;
I need BlogPost-&amp;gt;Categories ordered by BlogCategory.name&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;class BlogPost &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;title&apos;, &apos;string&apos;, 128);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;content&apos;, &apos;string&apos;);
    }
    
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasMany(&apos;BlogCategory as BlogCategories&apos;, array(&apos;local&apos; =&amp;gt; &apos;id_blog_post&apos;, &apos;foreign&apos; =&amp;gt; &apos;id_blog_category&apos;, &apos;refClass&apos; =&amp;gt; &apos;BlogPostCategory&apos;, &apos;orderBy&apos; =&amp;gt; &apos;name&apos;));        
    }
}

class BlogCategory &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;name&apos;, &apos;string&apos;, 128);
    }
    
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasMany(&apos;BlogPost as BlogPosts&apos;, array(&apos;local&apos; =&amp;gt; &apos;id_blog_category&apos;, &apos;foreign&apos; =&amp;gt; &apos;id_blog_post&apos;, &apos;refClass&apos; =&amp;gt; &apos;BlogPostCategory&apos;));
    }
}

class BlogPostCategory &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;id_blog_post&apos;, &apos;integer&apos;, &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, array(&apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;id_blog_category&apos;, &apos;integer&apos;, &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, array(&apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
    }
    
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasOne(&apos;BlogPost&apos;, array(&apos;local&apos; =&amp;gt; &apos;id_blog_post&apos;, &apos;foreign&apos; =&amp;gt; &apos;id&apos;, &apos;onDelete&apos; =&amp;gt; &apos;CASCADE&apos;));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasOne(&apos;BlogCategory&apos;, array(&apos;local&apos; =&amp;gt; &apos;id_blog_category&apos;, &apos;foreign&apos; =&amp;gt; &apos;id&apos;, &apos;onDelete&apos; =&amp;gt; &apos;CASCADE&apos;));
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The resulting query contains doubled &apos;name&apos; column in ORDER BY clause, both from reference table and related table, e.g. ORDER BY t2.name, t3.name&lt;/p&gt;

&lt;p&gt;I tried putting the following code in BlogCategory::setTableDefinition() instead of attribute in relation definition in BlogPost record:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;option(&apos;orderBy&apos;, &apos;name&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;but the result was the same.&lt;/p&gt;

&lt;p&gt;Maybe I&apos;m doing something wrong? Is there a possibility to define an alias, where to get column name from - in orderBy attribute?&lt;/p&gt;

&lt;p&gt;Thanks in advance.&lt;/p&gt;</description>
                <environment>php 5.3/win, doctrine 1.2 svn, ATTR_QUOTE_IDENTIFIER = true, ATTR_USE_DQL_CALLBACKS = true</environment>
            <key id="10546">DC-313</key>
            <summary>Ordering m2m relationship with column from related table (with orderBy option)</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="mh">Maciej Ho&#322;yszko</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Dec 2009 12:53:05 +0000</created>
                <updated>Fri, 18 Feb 2011 03:32:42 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Record</component>
                <component>Relations</component>
                        <due></due>
                    <votes>3</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="10969" author="mh" created="Wed, 2 Dec 2009 12:53:49 +0000"  >&lt;p&gt;Attached test case.&lt;/p&gt;</comment>
                    <comment id="11080" author="mh" created="Tue, 8 Dec 2009 12:59:05 +0000"  >&lt;p&gt;I find this issue as critical one now, because when I use e.g.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;option(&apos;orderBy&apos;, &apos;name&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;in a model&apos;s definition (not ref class), then when other model is related m2m with it, a query loading both of them with relations will fail because of name column duplicated in ref table.&lt;/p&gt;</comment>
                    <comment id="12740" author="suhock" created="Fri, 23 Apr 2010 05:18:13 +0000"  >&lt;p&gt;I am having the same issue with an equivalent test case. For some reason, the &lt;tt&gt;&apos;orderBy&apos;&lt;/tt&gt; option on the target of the join (set by calling the &lt;tt&gt;option()&lt;/tt&gt; function inside the &lt;tt&gt;setUp()&lt;/tt&gt; method of the model class, not the ref class) is being applied to the relation table. After digging through the 1.2.2 tag a bit, I found altering line 1319 of Query.php as follows seems to fix the problem (at least against my test cases):&lt;/p&gt;

&lt;p&gt;&lt;del&gt;&lt;tt&gt;if (isset($map&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;relation&amp;#39;&amp;#93;&lt;/span&gt;)) {&lt;/tt&gt;&lt;/del&gt;&lt;br/&gt;
&lt;ins&gt;&lt;tt&gt;if (isset($map&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;relation&amp;#39;&amp;#93;&lt;/span&gt;) &amp;amp;&amp;amp; $map&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;relation&amp;#39;&amp;#93;&lt;/span&gt;-&amp;gt;getTable() === $map&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;table&amp;#39;&amp;#93;&lt;/span&gt;) {&lt;/tt&gt;&lt;/ins&gt;&lt;/p&gt;

&lt;p&gt;I&apos;ll do some more thorough testing and submit a patch if I find time.&lt;/p&gt;</comment>
                    <comment id="15332" author="bwegrzyn" created="Thu, 17 Feb 2011 09:45:31 +0000"  >&lt;p&gt;I had this issue as well. suhock&apos;s solution fixed it for me. It would be nice if this was merged in to a bug fix release of Doctrine 1.x.&lt;/p&gt;</comment>
                    <comment id="15336" author="suhock" created="Fri, 18 Feb 2011 03:32:42 +0000"  >&lt;p&gt;I ended up creating a new ticket, &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-651&quot; class=&quot;external-link&quot;&gt;DC-651&lt;/a&gt;, which addresses a more general problem with the orderBy feature. You should use the attached Ticket_DC651.patch instead, as I found the solution I provided here is not completely correct and does not pass all test cases.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10202" name="DC313TestCase.php" size="3659" author="mh" created="Wed, 2 Dec 2009 12:53:49 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-839] Version classes not built for models using package attribute</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-839</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;For models using the &apos;package&apos; attribute in the schema definition, the version classes do not get created. However, the version table gets created.&lt;/p&gt;

&lt;p&gt;There is no problem during the build, but when loading fixtures, there is a fatal error: Class TaxCodeVersion not found&lt;/p&gt;

&lt;p&gt;TaxCode:&lt;br/&gt;
  package: Masters&lt;br/&gt;
  tableName: Fin_Tax_Codes&lt;br/&gt;
  actAs:&lt;br/&gt;
    Activateable: ~&lt;br/&gt;
    SoftDelete: ~&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Versionable:&lt;/li&gt;
	&lt;li&gt;tableName: fin_tax_codes_version
	&lt;ol&gt;
		&lt;li&gt;versionColumn: version&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;className: %CLASS%Version
	&lt;ol&gt;
		&lt;li&gt;auditLog: true&lt;br/&gt;
    Auditable: ~&lt;br/&gt;
    Timestampable: ~&lt;br/&gt;
.......&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment>PHP 5.2.3 / Symfony 1.4.6</environment>
            <key id="11819">DC-839</key>
            <summary>Version classes not built for models using package attribute</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="prasadgupte">Prasad Gupte</reporter>
                        <labels>
                    </labels>
                <created>Tue, 24 Aug 2010 08:51:41 +0000</created>
                <updated>Tue, 8 Mar 2011 11:06:47 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="15475" author="hetsch" created="Tue, 8 Mar 2011 11:06:47 +0000"  >&lt;p&gt;Same here,&lt;/p&gt;

&lt;p&gt;If i use this yaml file:&lt;/p&gt;


&lt;p&gt;Page:&lt;br/&gt;
  actAs: &lt;br/&gt;
    NestedSet:&lt;br/&gt;
      hasManyRoots: true&lt;br/&gt;
      rootColumnName: root_id&lt;br/&gt;
    Versionable:&lt;br/&gt;
      versionColumn: version&lt;br/&gt;
      className: %CLASS%Version&lt;br/&gt;
      auditLog: true&lt;br/&gt;
    Timestampable:&lt;br/&gt;
      created:&lt;br/&gt;
        name: created_at&lt;br/&gt;
        type: timestamp&lt;br/&gt;
        format: Y-m-d H&lt;br/&gt;
      updated:&lt;br/&gt;
        name: updated_at&lt;br/&gt;
        type: timestamp&lt;br/&gt;
        format: Y-m-d H&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;name&amp;#93;&lt;/span&gt;  &lt;br/&gt;
  columns:&lt;br/&gt;
    name: string(255)&lt;/p&gt;

&lt;p&gt;PageVersion and PageTranslation Models don&apos;t get generated if i use &apos;build-models-yaml&apos;. Have to create the Models manually then it works fine.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-791] [PostgreSQL] In case model is build from existing database sequence name is invalid and doctrine throw exception</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-791</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Firstly I created database directly in postgresql.&lt;br/&gt;
After that I generated schema from existsing database and after all i built model.&lt;/p&gt;

&lt;p&gt;When I try to insert new record to database I received following error:&lt;/p&gt;

&lt;p&gt;sequence &quot;Category_id_seq&quot; does not exist&lt;/p&gt;

&lt;p&gt;In schema file sequence name is defined like this:  sequence: &apos;&quot;Address_id_seq&quot;&apos;&lt;br/&gt;
There&apos;s are apostrophes and quotes.&lt;/p&gt;

&lt;p&gt;In Category model file is same like above, apostrophes and quotes.&lt;/p&gt;

&lt;p&gt;When I remove quotes from sequence in model files everything is ok and there&apos;re no problems with insert new row to database.&lt;/p&gt;</description>
                <environment>symfony 1.4.5, postgresql 8.4, debian lenny, nginx</environment>
            <key id="11633">DC-791</key>
            <summary>[PostgreSQL] In case model is build from existing database sequence name is invalid and doctrine throw exception</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="kacperix">Przemys&#322;aw Ci&#261;&#263;ka</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Jul 2010 08:42:43 +0000</created>
                <updated>Wed, 25 Aug 2010 02:40:04 +0000</updated>
                                    <version>1.2.2</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13943" author="enrico" created="Fri, 13 Aug 2010 12:51:22 +0000"  >&lt;p&gt;There are 2 solutions to your problem. The first is to change the sequence name in the schema, the second is to change the doctrine configuration.&lt;/p&gt;

&lt;p&gt;The default behavior of doctrine is to add a &quot;_seq&quot; to each sequence name. If you remove this part from you sequence name then it sould work as expected. The second option is to change the behavior of doctrine with the following configuration parameter:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
Doctrine_Manager::getInstance()-&amp;gt;setAttribute(Doctrine_Core::ATTR_SEQNAME_FORMAT, &apos;%s&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;default:&lt;/b&gt; Doctrine_Manager::getInstance()-&amp;gt;setAttribute(Doctrine_Core::ATTR_SEQNAME_FORMAT, &apos;%s_seq&apos;); &lt;/p&gt;</comment>
                    <comment id="14063" author="kacperix" created="Wed, 25 Aug 2010 02:40:04 +0000"  >&lt;p&gt;Problem are quotes in sequence name.&lt;br/&gt;
Sequence names in schema built from existing database have quotes in their names, e.g &apos; &quot;Address_seq&quot; &apos; and Doctrine try to execute sequence with quotes but in database names exist without quotes.&lt;/p&gt;

&lt;p&gt;Temporarly I fixed it by add str_replace() into importer from PostgreSQL - now in schema sequence names are without quotes.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10697" name="doctrine.png" size="40004" author="kacperix" created="Fri, 16 Jul 2010 08:42:43 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<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>

<item>
            <title>[DC-701] Aggregates functions do not return proper values when using many relationships and limits</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-701</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi All&lt;/p&gt;

&lt;p&gt;I have encountered a problem that seems very core to the way that doctrine works &amp;#8211; if you apply an aggregate function to a column in a table and then join to another table via a many relationship while also using a limit, like so:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$q = Doctrine_Query::create();
$q-&amp;gt;from(&apos;Customer Customer&apos;); 
$q-&amp;gt;addSelect(&apos;COUNT(Customer.id) as COUNT_customer_id&apos;);
$q-&amp;gt;addSelect(&apos;Customer_Order.id as order_id&apos;); 
$q-&amp;gt;leftJoin(&apos;Customer.Order Customer_Order&apos;); &lt;span class=&quot;code-comment&quot;&gt;// Many relationship here
&lt;/span&gt;$q-&amp;gt;limit(20);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It produces this correct DQL:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SELECT COUNT(Customer.id) as COUNT_customer_id, Customer_Order.id as order_id 
FROM Customer Customer 
  LEFT JOIN Customer.Order Customer_Order 
LIMIT 20
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;However the SQL it produces will not return an accurate count &amp;#8211; the count is restricted by the limit:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SELECT COUNT(p.id) AS p__0, p2.id AS p2__1 
FROM product_customers p 
  LEFT JOIN product_orders p2 ON p.id = p2.customer_id 
WHERE p.id IN (&apos;1&apos;, &apos;2&apos;, &apos;3&apos;, &apos;4&apos;, &apos;5&apos;, &apos;6&apos;, &apos;7&apos;, &apos;8&apos;, &apos;9&apos;, &apos;10&apos;, &apos;11&apos;, &apos;12&apos;, &apos;13&apos;, &apos;14&apos;, &apos;15&apos;, &apos;16&apos;, &apos;17&apos;, &apos;18&apos;, &apos;19&apos;, &apos;20&apos;)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This produces a count of 21 instead of what it should be (1000).&lt;/p&gt;

&lt;p&gt;The reason for this is because Doctrine&apos;s internal functionality does an intermediary query where it gets gets the ids needed from the customer table in order to use them as the IN portion of the constraints on the final query &amp;#8211; like so:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SELECT DISTINCT p3.id FROM product_customers p3 LIMIT 20
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It may seem strange that I am applying a limit to a query which will aggregate to 1 to row . In the actual queries that alerted me to this problem I am using a group by. The reason I am not reporting this bug with a group by in my example however is that you can not use a group by with a many relationship and a limit in doctrine 1.2.2 as it works currently (see bug: &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-594&quot; title=&quot;When using a combination of: a group by field referencing a table in a relation, a join to a different table via a many type relation and a limit clause, doctrine creates a broken query then throws an exception&quot;&gt;&lt;del&gt;DC-594&lt;/del&gt;&lt;/a&gt;). However I am personally able to use a limit with a group by and many relationship since I am using a version of the code I patched my self to repair bug &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-594&quot; title=&quot;When using a combination of: a group by field referencing a table in a relation, a join to a different table via a many type relation and a limit clause, doctrine creates a broken query then throws an exception&quot;&gt;&lt;del&gt;DC-594&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is my sample schema in case its helpful.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;detect_relations: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
&lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;: Example
options:
  type: INNODB
  charset: utf8
Order:
  tableName: orders
  columns:
    order_id:
      type: integer(4)
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    customer_id:
      type: integer(4)
    order_date: timestamp
  relations:
    Customer:
      type: one
      local: customer_id
      foreign: customer_id
  options:
    type: InnoDB
Customer:
  tableName: customers
  columns:
    customer_id:
      type: integer(4)
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    firstname:
      type: string(45)
    lastname:
      type: string(45)
    streetaddress:
      type: string(45)
    city:
      type: string(45)
    state:
      type: string(45)
    postalcode:
      type: string(45)
  relations:
    Order:
      type: many
      local: customer_id
      foreign: customer_id
  options:
    type: InnoDB
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Thanks much.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;

&lt;p&gt;&lt;sub&gt;edit: split SQL code to make the discussion readable without huge horizontal scrolling...&lt;/sub&gt;&lt;/p&gt;</description>
                <environment>XP Xamp</environment>
            <key id="11409">DC-701</key>
            <summary>Aggregates functions do not return proper values when using many relationships and limits</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="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="willf1976">will ferrer</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 May 2010 20:28:27 +0000</created>
                <updated>Mon, 1 Nov 2010 20:12:17 +0000</updated>
                                    <version>1.2.2</version>
                                <fixVersion>1.2.4</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13153" author="jwage" created="Tue, 8 Jun 2010 10:27:47 +0000"  >&lt;p&gt;Is this still a problem? I am not sure if this can be patched easily. The limit subquery algorithm is flawed deeply but also a core part of the current way Doctrine 1 works.&lt;/p&gt;</comment>
                    <comment id="13237" author="willf1976" created="Tue, 8 Jun 2010 19:06:56 +0000"  >&lt;p&gt;Hi Jon&lt;/p&gt;

&lt;p&gt;This bug is still an issue for me but I think it may be VERY hard to patch since it seems very core to the way Doctrine 1 works.&lt;/p&gt;

&lt;p&gt;The project I am working on at the moment is a visual query builder that is highly reliant on Doctrine. In order to prevent users from making queries that would trigger this bug I am currently giving an alert when ever a query that would trigger this bug is created.&lt;/p&gt;

&lt;p&gt;It would be great if this were patchable but if not I should be able to get by.&lt;/p&gt;

&lt;p&gt;Does Doctrine 2 fix this problem?&lt;/p&gt;

&lt;p&gt;Thanks for the help.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</comment>
                    <comment id="13240" author="jwage" created="Tue, 8 Jun 2010 20:34:37 +0000"  >&lt;p&gt;In Doctrine 2 the limit subquery algorithm does not exist. It is now up to the developer to write the query to handle the scenario instead of Doctrine &quot;trying&quot; to automate it for you. Since the situation where it is needed it is so rare, and each case can be slightly different it is better to let the developer handle it in those cases.&lt;/p&gt;</comment>
                    <comment id="13241" author="willf1976" created="Tue, 8 Jun 2010 21:07:17 +0000"  >&lt;p&gt;Hi Jon&lt;/p&gt;

&lt;p&gt;Does that mean that Doctrine 2 can no longer intelligently handle limits with many relationships, and doesn&apos;t have the ability to hydrate a return with sub arrays in it for many relationships?&lt;/p&gt;

&lt;p&gt;Thanks again for your help.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</comment>
                    <comment id="13256" author="jwage" created="Wed, 9 Jun 2010 13:06:48 +0000"  >&lt;p&gt;That is correct. We do not automatically try and limit the relationships with a &quot;limit subquery&quot; as it causes more problems then it helps.&lt;/p&gt;</comment>
                    <comment id="13265" author="willf1976" created="Thu, 10 Jun 2010 05:05:53 +0000"  >&lt;p&gt;Hi Jon&lt;/p&gt;

&lt;p&gt;I was thinking about what you said here &amp;#8211; that the &quot;limit subquery&quot; causes more harm than good. It occur to me that I really do like being able to use this method (it comes in very handy very often) but some times it would really help to be able to turn it off (the bug in this thread is a good example such a time). So I figured why not just make an option to turn it off and have the best of both worlds? I looked at the code and found it was really very easy to put in a property which can be set on the query object to enable or disable the use of the limit subquery.&lt;/p&gt;

&lt;p&gt;I made the change in my code base and found it very useful for several situations I was dealing with in my own project.&lt;/p&gt;

&lt;p&gt;The one thing I couldn&apos;t do is make a test case for this new feature &amp;#8211; I couldn&apos;t find an existing test case that was actually triggering the limit subquery as I understood it to work (I couldn&apos;t find a test case that would put an WHERE IN constraint with all the ids gathered in the limit subquery.  I tried some test cases that I THOUGHT would activate this feature but it didn&apos;t seem that they did).&lt;/p&gt;

&lt;p&gt;After adding this feature to my code base I also wanted a new hydrator &amp;#8211; one that worked like scalar but would put in array key names that were the same as the ones you would see in HYDRATE_ARRAY. I noticed that HYDRATE_SCALAR already had the ability to do this but it required that a value of false be passed into the $aliasPrefix argument of the _gatherRowData function. I made a custom hydrator I call HYDRATE_ARRAY_SHALLOW that passes in this false value. I then realized this might be handy to add to doctrine so I integrated it into my code base and made a few test cases for it.&lt;/p&gt;

&lt;p&gt;There are 2 patches I am now attaching this to thread:&lt;/p&gt;

&lt;p&gt;disableLimitSubquery_2010-06-10_Doctrine_1.2_SVN.patch &amp;#8211; this patch adds the disableLimitSubquery property to query objects so that users can turn off the use of the subquery for those times when they don&apos;t want to use that behavior (fixing the bug in this thread and probably others)&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;disableLimitSubquery_and_HYDRATE_ARRAY_SHALLOW_2010-06-10_Doctrine_1.2_SVN.patch &amp;#8211; this is the same as the first patch but also contains the HYDRATE_ARRAY_SHALLOW hydration type I mentioned above (which tends to go well with disableLimitSubquery turned on).&lt;/p&gt;

&lt;p&gt;I put these in 2 patches incase you liked 1 feature but disliked the other.&lt;/p&gt;

&lt;p&gt;If you like either of this features I would be very happy to see them added to doctrine.&lt;/p&gt;

&lt;p&gt;Also if you have any advice on how to improve these features (or info on how to make a good test case for disableLimitSubquery) please let me know.&lt;/p&gt;

&lt;p&gt;Hope you are well.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</comment>
                    <comment id="13266" author="willf1976" created="Thu, 10 Jun 2010 05:07:31 +0000"  >&lt;p&gt;Reopened because I added a patch that I think in essence fixes the issues.&lt;/p&gt;</comment>
                    <comment id="14221" author="jwage" created="Wed, 1 Sep 2010 14:09:17 +0000"  >&lt;p&gt;Thanks for the issue and patches.&lt;/p&gt;

&lt;p&gt;Fixed here &lt;a href=&quot;http://github.com/doctrine/doctrine1/commit/2ad78e62e360133efc04bf6897bf679c7f3d833b&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/doctrine1/commit/2ad78e62e360133efc04bf6897bf679c7f3d833b&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14228" author="willf1976" created="Wed, 1 Sep 2010 19:24:16 +0000"  >&lt;p&gt;individual patch for this issue with out other features included&lt;/p&gt;</comment>
                    <comment id="14655" author="willf1976" created="Mon, 1 Nov 2010 20:11:40 +0000"  >&lt;p&gt;adding test cases for these features&lt;/p&gt;</comment>
                    <comment id="14656" author="willf1976" created="Mon, 1 Nov 2010 20:12:17 +0000"  >&lt;p&gt;reopened because I posted some test cases to add to doctrine along with the patchs previously posted&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10835" name="DC_701_adds_disbaleLimitSubquery_testcase.patch" size="2398" author="willf1976" created="Mon, 1 Nov 2010 20:11:40 +0000" />
                    <attachment id="10836" name="DC_701_adds_hydrateArrayShallow_testcase.patch" size="2117" author="willf1976" created="Mon, 1 Nov 2010 20:11:40 +0000" />
                    <attachment id="10767" name="DC_701_fix_adds_arrayShallow.patch" size="7909" author="willf1976" created="Wed, 1 Sep 2010 19:24:16 +0000" />
                    <attachment id="10766" name="DC_701_fix_adds_disableLimitSubQuery.patch" size="2267" author="willf1976" created="Wed, 1 Sep 2010 19:24:16 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-932] Queries fail when a model contains underscore and we try to apply a limit</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-932</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Actually, I&apos;ve a dead simple schema.yml, with two tables:&lt;/p&gt;

&lt;p&gt;T_Media:&lt;br/&gt;
    actAs:&lt;br/&gt;
        Timestampable: ~&lt;br/&gt;
    columns:&lt;br/&gt;
        media_id: &lt;/p&gt;
{ type: integer, primary: true, autoincrement: true }
&lt;p&gt;        name: string(25)&lt;/p&gt;


&lt;p&gt;J_Acl:&lt;br/&gt;
    columns:&lt;br/&gt;
        media_id: integer&lt;br/&gt;
    relations:&lt;br/&gt;
        Media: &lt;/p&gt;
{ class: T_Media, local: media_id, foreign: media_id, onDelete: CASCADE }


&lt;p&gt;I have some fixtures:&lt;br/&gt;
T_Media:&lt;br/&gt;
    m1:&lt;br/&gt;
        name: foobar&lt;/p&gt;

&lt;p&gt;J_Acl:&lt;br/&gt;
    a1:&lt;br/&gt;
        Media: m1&lt;/p&gt;

&lt;p&gt;And then, the DQL query I want to execute:&lt;/p&gt;

&lt;p&gt;&quot;From T_Media m INNER JOIN m.J_Acl order by m.created_at limit 1&quot;&lt;/p&gt;

&lt;p&gt;But if I run this query, for instance in CLI, I got an error:&lt;br/&gt;
./symfony doctrine:dql &quot;From T_Media m INNER JOIN m.J_Acl order by m.created_at limit 1&quot;&lt;/p&gt;


&lt;p&gt;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42S02&amp;#93;&lt;/span&gt;: Base table or view not found: 1146 Table &apos;test_noel.t2__media&apos; doesn&apos;t exist.&lt;br/&gt;
Failing Query: &quot;SELECT DISTINCT t2.media_id FROM t2_&lt;em&gt;media t2 INNER JOIN j2&lt;/em&gt;_acl j2 ON t2.media_id = j2.media_id ORDER BY t2.created_at LIMIT 1&quot;&lt;/p&gt;

&lt;p&gt;Notes: &lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;the query works if I do not apply the limit clause.&lt;/li&gt;
	&lt;li&gt;if I remove the underscore from the model, or if I set manually the tableName to remove the double underscore, it works&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment>Doctrine 1.2, Symfony 1.4.6, MySQL, Postgresql</environment>
            <key id="12125">DC-932</key>
            <summary>Queries fail when a model contains underscore and we try to apply a limit</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="noel">Noel GUILBERT</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Nov 2010 08:47:27 +0000</created>
                <updated>Fri, 19 Nov 2010 08:47:27 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-922] master-slave replication with i18n behavior</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-922</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I&apos;m trying to use sfDoctrineMasterSlavePlugin for database replication with Symfony  1.4 and PHP 5.3. But facing problem while selecting I18n records and receiving &quot;Unknown relation alias Translation&quot; error.&lt;/p&gt;

&lt;p&gt;I&apos;ve also tried same with implementation solution given in master-slave chapter of doctrine cookbook but no success. &lt;/p&gt;

&lt;p&gt;Is anyone facing same problem with sfDoctrineMasterSlavePlugin and i18n behavio? Is there any solution of the problem?&lt;/p&gt;</description>
                <environment>php 5.3, doctrine 1.2, Symfony 1.4, mysql</environment>
            <key id="12088">DC-922</key>
            <summary>master-slave replication with i18n behavior</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="husen">husen mankada</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Nov 2010 02:34:37 +0000</created>
                <updated>Wed, 10 Nov 2010 02:34:37 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-857] postHydrate not called for One to One relations, when ATTR_HYDRATE_OVERWRITE == false, and the record is cached in the table&apos;s identityMap</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-857</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When objects are hydrated with a join to a one to one relation, if the queried object is stored in the table&apos;s cache, and ATTR_HYDRATE_OVERWRITE set to false, then the one to one relation&apos;s postHydrate method will never be called.&lt;/p&gt;

&lt;p&gt;This is due to &lt;a href=&quot;http://github.com/doctrine/doctrine1/blob/master/lib/Doctrine/Hydrator/Graph.php#L255&quot; class=&quot;external-link&quot;&gt;this line&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ( ! isset($prev[$parent][$relationAlias])) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;...which will always evaluate to false, and postHydrate will ever be called, as the record has been pulled from the table cache &lt;a href=&quot;http://github.com/doctrine/doctrine1/blob/master/lib/Doctrine/Hydrator/Graph.php#L155&quot; class=&quot;external-link&quot;&gt;here&lt;/a&gt;&lt;/p&gt;</description>
                <environment>All</environment>
            <key id="11878">DC-857</key>
            <summary>postHydrate not called for One to One relations, when ATTR_HYDRATE_OVERWRITE == false, and the record is cached in the table&apos;s identityMap</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="ben.davies">Ben Davies</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Sep 2010 09:25:22 +0000</created>
                <updated>Sun, 5 Sep 2010 12:41:13 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14253" author="ben.davies" created="Fri, 3 Sep 2010 09:27:24 +0000"  >&lt;p&gt;Test case attached.&lt;/p&gt;</comment>
                    <comment id="14254" author="ben.davies" created="Fri, 3 Sep 2010 09:30:09 +0000"  >&lt;p&gt;There needs to be some kind of caching on the pre/postHydrate calls, which is done throughout the Doctrine_Hydrator_Graph, except for when the relation is one-to-one.&lt;br/&gt;
This is done &lt;a href=&quot;http://github.com/doctrine/doctrine1/blob/master/lib/Doctrine/Hydrator/Graph.php#L224&quot; class=&quot;external-link&quot;&gt;just above&lt;/a&gt;, for relations that are not one-to-one.&lt;/p&gt;

&lt;p&gt;Unfortunately, I couldn&apos;t work out how to implement it for one-to-one.&lt;br/&gt;
Probably a simple fix for someone familiar with the code&lt;/p&gt;</comment>
                    <comment id="14255" author="ben.davies" created="Fri, 3 Sep 2010 11:31:45 +0000"  >&lt;p&gt;Correct Test Case&lt;/p&gt;</comment>
                    <comment id="14257" author="ben.davies" created="Fri, 3 Sep 2010 11:37:03 +0000"  >&lt;p&gt;Correct Test Case&lt;/p&gt;</comment>
                    <comment id="14279" author="ben.davies" created="Sun, 5 Sep 2010 12:41:13 +0000"  >&lt;p&gt;I was probably a little too tired to think this through clearly on a Friday after a long weeks work!&lt;br/&gt;
Patched attached, which doesn&apos;t break any of the existing unit tests.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10774" name="DC857.patch" size="1051" author="ben.davies" created="Sun, 5 Sep 2010 12:41:13 +0000" />
                    <attachment id="10773" name="DC857TestCase.php" size="2194" author="ben.davies" created="Fri, 3 Sep 2010 11:37:36 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1007] Cannot update a field to NULL with MSSQL connection</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1007</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When trying to update a field to NULL in a MSSQL database, Doctrine generates the following request:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;    UPDATE table SET fieldThatMustBeNull = , anotherField = &apos;blabla&apos;;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;therefore generating a syntax error.&lt;/p&gt;

&lt;p&gt;A fix would be to override the update method in the Doctrine_Connection_Mssql and add the following behavior:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;Doctrine_Connection_Mssql&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function update(Doctrine_Table $table, array $fields, array $identifier)
    {
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (empty($fields)) {
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
        }

        $set = array();
        foreach ($fields as $fieldName =&amp;gt; $value) {
            &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($value &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; Doctrine_Expression) {
                $set[] = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier($table-&amp;gt;getColumnName($fieldName)) . &apos; = &apos; . $value-&amp;gt;getSql();
                unset($fields[$fieldName]);
            } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (is_null($value)) {
                $set[] = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier($table-&amp;gt;getColumnName($fieldName)) . &apos; = NULL&apos;;
                unset($fields[$fieldName]);
            } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
                $set[] = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier($table-&amp;gt;getColumnName($fieldName)) . &apos; = ?&apos;;
            }
        }

        $params = array_merge(array_values($fields), array_values($identifier));

        $sql  = &apos;UPDATE &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteIdentifier($table-&amp;gt;getTableName())
              . &apos; SET &apos; . implode(&apos;, &apos;, $set)
              . &apos; WHERE &apos; . implode(&apos; = ? AND &apos;, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;quoteMultipleIdentifier($table-&amp;gt;getIdentifierColumnNames()))
              . &apos; = ?&apos;;

        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;exec($sql, $params);
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Windows 7 32 bits with Apache 2.2.x, PHP 5.2.17, Sql Server 2008, Symfony 1.4.11 and Doctrine 1.2.4</environment>
            <key id="12667">DC-1007</key>
            <summary>Cannot update a field to NULL with MSSQL connection</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="guitio2002">guitio2002</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 May 2011 19:37:07 +0000</created>
                <updated>Wed, 25 May 2011 19:43:52 +0000</updated>
                                                    <fixVersion>1.2.4</fixVersion>
                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-978] Doctrine_Connection_Mssql dies on modifyLimitSubquery every time</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-978</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Looking at the latest version of Doctrine_Connection_Mssql in git repo:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/doctrine1/blob/b4dc8e66a89a7e17cd195c489b18005e19ca9ea5/lib/Doctrine/Connection/Mssql.php&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine1/blob/b4dc8e66a89a7e17cd195c489b18005e19ca9ea5/lib/Doctrine/Connection/Mssql.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Doctrine_Query:getLimitSubquery() there is a call to Doctrine_Connection_Mssql::modifyLimitSubquery().&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function modifyLimitSubquery(Doctrine_Table $rootTable, $query, $limit = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $offset = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $isManip = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
{
	&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;modifyLimitQuery($query, $limit, $offset, $isManip, &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This in turn calls Doctrine_Connection_Mssql::modifyLimitQuery() wihtout passing the $queryOrigin parameter:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function modifyLimitQuery($query, $limit = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $offset = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $isManip = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $isSubQuery = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, Doctrine_Query $queryOrigin = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)
    {
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($limit === &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; || !($limit &amp;gt; 0)) {
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $query;
        }

        $orderby = stristr($query, &apos;ORDER BY&apos;);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($offset !== &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; &amp;amp;&amp;amp; $orderby === &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;) {
            &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Connection_Exception(&lt;span class=&quot;code-quote&quot;&gt;&quot;OFFSET cannot be used in MSSQL without ORDER BY due to emulation reasons.&quot;&lt;/span&gt;);
        }
        
        $count = intval($limit);
        $offset = intval($offset);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($offset &amp;lt; 0) {
            &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Connection_Exception(&lt;span class=&quot;code-quote&quot;&gt;&quot;LIMIT argument offset=$offset is not valid&quot;&lt;/span&gt;);
        }

        $orderbySql = $queryOrigin-&amp;gt;getSqlQueryPart(&apos;orderby&apos;);
        $orderbyDql = $queryOrigin-&amp;gt;getDqlPart(&apos;orderby&apos;);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($orderby !== &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;) {
            $orders = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;parseOrderBy(implode(&apos;, &apos;, $queryOrigin-&amp;gt;getDqlPart(&apos;orderby&apos;)));

            &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; ($i = 0; $i &amp;lt; count($orders); $i++) {
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;From just looking at the above code, the query chokes on the first call to a $queryOrigin method. It seems like there is a lot of missing code here which should work with the $query directly when $queryOrigin is not available...&lt;/p&gt;

&lt;p&gt;What is the point of $orderbySql and $orderbyDql variables when they are not used anywhere?&lt;/p&gt;

&lt;p&gt;This code looks like it&apos;s half way done and untested.&lt;/p&gt;</description>
                <environment>windows</environment>
            <key id="12434">DC-978</key>
            <summary>Doctrine_Connection_Mssql dies on modifyLimitSubquery every time</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="andrej.pavlovic">Andrej Pavlovic</reporter>
                        <labels>
                    </labels>
                <created>Sun, 27 Feb 2011 17:14:51 +0000</created>
                <updated>Sun, 27 Feb 2011 17:17:16 +0000</updated>
                                    <version>1.2.4</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1058] Warning: Invalid argument supplied for foreach() in SqlWalker.php line 899</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1058</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hallo, i get the error&lt;br/&gt;
Warning: Invalid argument supplied for foreach() in /var/www/phverbose/vendor/doctrine/Doctrine/ORM/Query/SqlWalker.php line 899&lt;/p&gt;

&lt;p&gt;Here is the line&lt;br/&gt;
foreach ($assoc&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;relationToTargetKeyColumns&amp;#39;&amp;#93;&lt;/span&gt; as $relationColumn =&amp;gt; $targetColumn) {&lt;/p&gt;

&lt;p&gt;Here are the relations and the query&lt;br/&gt;
&lt;a href=&quot;http://pastie.org/4352511&quot; class=&quot;external-link&quot;&gt;http://pastie.org/4352511&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://pastie.org/4352498&quot; class=&quot;external-link&quot;&gt;http://pastie.org/4352498&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the dump of $assoc before warning&lt;/p&gt;


&lt;p&gt;array(16) {&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;fieldName&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  string(5) &quot;sites&quot;&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;joinTable&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  array(0) {&lt;br/&gt;
  }&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;targetEntity&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  string(13) &quot;Entities\Site&quot;&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;mappedBy&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  string(6) &quot;emails&quot;&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;inversedBy&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  NULL&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;cascade&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  array(1) &lt;/p&gt;
{
    [0]=&amp;gt;
    string(7) &quot;persist&quot;
  }
&lt;p&gt;  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;orphanRemoval&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  bool(false)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;fetch&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  int(2)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;type&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  int(8)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;isOwningSide&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  bool(false)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;sourceEntity&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  string(14) &quot;Entities\Email&quot;&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;isCascadeRemove&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  bool(false)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;isCascadePersist&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  bool(true)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;isCascadeRefresh&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  bool(false)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;isCascadeMerge&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  bool(false)&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;isCascadeDetach&amp;quot;&amp;#93;&lt;/span&gt;=&amp;gt;&lt;br/&gt;
  bool(false)&lt;br/&gt;
}&lt;/p&gt;</description>
                <environment>Linux, Ubuntu 12, php 5.4</environment>
            <key id="13891">DC-1058</key>
            <summary>Warning: Invalid argument supplied for foreach() in SqlWalker.php line 899</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="alexanderc">Alexander Cucer</reporter>
                        <labels>
                        <label>paginator</label>
                    </labels>
                <created>Sun, 29 Jul 2012 09:44:56 +0000</created>
                <updated>Sun, 29 Jul 2012 09:44:56 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-980] Moving all ALTERS queries to the end of generated sql file (task build-sql)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-980</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Actual in case of using multi database configuration and foreign keys between them.&lt;/p&gt;

&lt;p&gt;Now build-sql task generates SQL query for database by database in alphabetical order. It&apos;s ugly when we have multidatabase configuration and foreign keys between their tables. It&apos;s impossible to do &apos;import-sql&apos; without errors beucase foreign keys constrains to nonexisting tables are in next database in order. &lt;/p&gt;

&lt;p&gt;I have added some code to strings 1176-...&lt;/p&gt;</description>
                <environment></environment>
            <key id="12446">DC-980</key>
            <summary>Moving all ALTERS queries to the end of generated sql file (task build-sql)</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="seremenko">Sergey Eremenko</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Mar 2011 06:42:03 +0000</created>
                <updated>Fri, 4 Mar 2011 06:42:03 +0000</updated>
                                                                    <component>Cli</component>
                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10951" name="Export.php" size="56058" author="seremenko" created="Fri, 4 Mar 2011 06:42:03 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1053] Renaming a doctrine &apos;string&apos; field may result in loss of data as the field&apos;s type changes. (MySQL)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1053</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Consider the following schema:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;schema.yml&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;MyTable:
  columns:
    some_text:        string
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Doctrine creates the table with:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-sql&quot;&gt;CREATE TABLE `my_table` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `some_text` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now, the following migration should rename the field from &lt;tt&gt;some_text&lt;/tt&gt; to &lt;tt&gt;just_text&lt;/tt&gt;:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&amp;lt;?php
class Version1 &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Migration_Base
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function up()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;renameColumn(&apos;my_table&apos;, &apos;some_text&apos;, &apos;just_text&apos;);
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function down()
    {
      $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;renameColumn(&apos;my_table&apos;, &apos;just_text&apos;, &apos;some_text&apos;);
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;...however the field gets renamed and the type becomes &lt;tt&gt;VARCHAR(255)&lt;/tt&gt;, as the resulting &lt;tt&gt;SHOW CREATE TABLE my_table&lt;/tt&gt; shows:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-sql&quot;&gt;CREATE TABLE `my_table` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `a_varchar` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Causes data in the column greater than 255 bytes to get truncated&lt;/p&gt;</description>
                <environment>PHP 5.3.5-1ubuntu7.2ppa1~lucid with Suhosin-Patch (cli) (built: May  7 2011 03:12:27) &lt;br/&gt;
Zend Engine v2.3.0&lt;br/&gt;
Xdebug v2.0.5&lt;br/&gt;
Turnkey LAMP 10.04 LTS x86_64&lt;br/&gt;
Symfony 1.4.11&lt;br/&gt;
mysql  Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (i486) using readline 6.1</environment>
            <key id="13561">DC-1053</key>
            <summary>Renaming a doctrine &apos;string&apos; field may result in loss of data as the field&apos;s type changes. (MySQL)</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="benlancaster">Ben Lancaster</reporter>
                        <labels>
                    </labels>
                <created>Mon, 26 Mar 2012 20:49:27 +0000</created>
                <updated>Mon, 26 Mar 2012 20:52:02 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1052] limit() get lost on multiple joins</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1052</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;$strSql = UserFeedTable::getInstance()&lt;del&gt;&amp;gt;createQuery(&apos;q&apos;)&lt;/del&gt;&amp;gt;&lt;br/&gt;
                select(&apos;q.&lt;b&gt;, f.&lt;/b&gt;, fi.&lt;b&gt;, fav.&lt;/b&gt;&apos;)-&amp;gt;&lt;br/&gt;
                leftJoin(&apos;q.Feed f&apos;)-&amp;gt;&lt;br/&gt;
                leftJoin(&apos;f.FeedItem fi&apos;)-&amp;gt;&lt;br/&gt;
                leftJoin(&apos;fi.Favorite fav&apos;)-&amp;gt;&lt;br/&gt;
                andWhere(&apos;q.profile_id = ?&apos;, $intUserId)-&amp;gt;&lt;br/&gt;
                andWhere(&apos;q.is_active = ?&apos;, true)-&amp;gt;&lt;br/&gt;
                limit(10)-&amp;gt;getSqlQuery();&lt;br/&gt;
var_dump($strSql);&lt;/p&gt;

&lt;p&gt;string(1075) &quot;SELECT u.id AS u_&lt;em&gt;id, u.name AS u&lt;/em&gt;&lt;em&gt;name, u.image AS u&lt;/em&gt;&lt;em&gt;image, u.lead AS u&lt;/em&gt;&lt;em&gt;lead, u.headline AS u&lt;/em&gt;&lt;em&gt;headline, u.sort AS u&lt;/em&gt;&lt;em&gt;sort, u.is_active AS u&lt;/em&gt;&lt;em&gt;is_active, u.is_favorite AS u&lt;/em&gt;&lt;em&gt;is_favorite, u.feed_id AS u&lt;/em&gt;&lt;em&gt;feed_id, u.profile_id AS u&lt;/em&gt;&lt;em&gt;profile_id, u.category_id AS u&lt;/em&gt;&lt;em&gt;category_id, u.created_at AS u&lt;/em&gt;&lt;em&gt;created_at, u.updated_at AS u&lt;/em&gt;&lt;em&gt;updated_at, f.id AS f&lt;/em&gt;&lt;em&gt;id, f.url AS f&lt;/em&gt;&lt;em&gt;url, f.name AS f&lt;/em&gt;&lt;em&gt;name, f.created_at AS f&lt;/em&gt;&lt;em&gt;created_at, f.updated_at AS f&lt;/em&gt;&lt;em&gt;updated_at, f2.id AS f2&lt;/em&gt;&lt;em&gt;id, f2.lead AS f2&lt;/em&gt;&lt;em&gt;lead, f2.description AS f2&lt;/em&gt;&lt;em&gt;description, f2.image AS f2&lt;/em&gt;&lt;em&gt;image, f2.pub_date AS f2&lt;/em&gt;&lt;em&gt;pub_date, f2.link AS f2&lt;/em&gt;&lt;em&gt;link, f2.feed_id AS f2&lt;/em&gt;&lt;em&gt;feed_id, f2.created_at AS f2&lt;/em&gt;&lt;em&gt;created_at, f2.updated_at AS f2&lt;/em&gt;&lt;em&gt;updated_at, f3.id AS f3&lt;/em&gt;&lt;em&gt;id, f3.profile_id AS f3&lt;/em&gt;&lt;em&gt;profile_id, f3.feed_item_id AS f3&lt;/em&gt;&lt;em&gt;feed_item_id, f3.created_at AS f3&lt;/em&gt;&lt;em&gt;created_at, f3.updated_at AS f3&lt;/em&gt;_updated_at FROM user_feed u LEFT JOIN feed f ON u.feed_id = f.id LEFT JOIN feed_item f2 ON f.id = f2.feed_id LEFT JOIN favorite f3 ON f2.id = f3.feed_item_id WHERE u.id IN (&apos;7&apos;, &apos;8&apos;, &apos;9&apos;, &apos;10&apos;, &apos;11&apos;) AND (u.profile_id = ? AND u.is_active = ?)&quot;&lt;/p&gt;

&lt;p&gt;As you can see, the limit is missing.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13543">DC-1052</key>
            <summary>limit() get lost on multiple joins</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="kempf-solutions">Michael Kempf</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Mar 2012 13:37:12 +0000</created>
                <updated>Tue, 20 Mar 2012 13:37:12 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1050] Doctrine_Relation_ForeignKey ignores ATTR_COLL_KEY attribute</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1050</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine_Relation_ForeignKey::fetchRelatedFor() executes the following code at line 70:&lt;/p&gt;

&lt;p&gt;$coll = $this-&amp;gt;getTable()&lt;del&gt;&amp;gt;getConnection()&lt;/del&gt;&amp;gt;query($dql, $id);&lt;br/&gt;
$related = $coll&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;;&lt;/p&gt;

&lt;p&gt;As you can see it accesses the first element by using index &quot;0&quot; in $coll and hence ignores a modified ATTR_COLL_KEY-setting, for instance:&lt;/p&gt;

&lt;p&gt;$this-&amp;gt;setAttribute(Doctrine_Core::ATTR_COLL_KEY, &apos;id&apos;);&lt;/p&gt;

&lt;p&gt;Fortunately I had two models (ForeignA and ForeignB) in my project which both have an one-to-one relation to a third model (Main). That helped me finding this bug which causes the following strange behavior:&lt;/p&gt;

&lt;p&gt;// program 1:&lt;/p&gt;

&lt;p&gt;$m = new Main();&lt;br/&gt;
$m-&amp;gt;name = &apos;M1&apos;;&lt;br/&gt;
$m-&amp;gt;setForeignA(new ForeignA()); // has ATTR_COLL_KEY changed to &apos;id&apos;&lt;br/&gt;
$m-&amp;gt;setForeignB(new ForeignB());&lt;br/&gt;
$m-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;// program 2:&lt;/p&gt;

&lt;p&gt;$m = Doctrine_Core::getTable(&apos;M1&apos;)-&amp;gt;findOneBy(&apos;name&apos;, &apos;M1&apos;);&lt;br/&gt;
$m-&amp;gt;getForeignA()-&amp;gt;exists(); // false&lt;br/&gt;
$m-&amp;gt;getForeignB()-&amp;gt;exists(); // true&lt;/p&gt;

&lt;p&gt;-------------------------&lt;/p&gt;

&lt;p&gt;The big problem about this issue is that behavior is inconsistent. If you don&apos;t split the example above into two separate programs/processes you won&apos;t have problems, since Doctrine accesses the reference which was stored when calling save().&lt;/p&gt;

&lt;p&gt;You will get into trouble using functional tests in Symfony. Since there is only a single process for all requests I wasn&apos;t able to reproduce a problem caused by this bug which appeared in the production environment.&lt;/p&gt;

&lt;p&gt;-------------------------&lt;/p&gt;

&lt;p&gt;Edit:&lt;/p&gt;

&lt;p&gt;Doctrine_Connection::queryOne() is affected as well!&lt;/p&gt;

&lt;p&gt;A solution is to replace&lt;/p&gt;

&lt;p&gt;$coll = $this-&amp;gt;getTable()&lt;del&gt;&amp;gt;getConnection()&lt;/del&gt;&amp;gt;query($dql, $id);&lt;br/&gt;
$related = $coll&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;;&lt;/p&gt;

&lt;p&gt;by&lt;/p&gt;

&lt;p&gt;$related = $this-&amp;gt;getTable()&lt;del&gt;&amp;gt;getConnection()&lt;/del&gt;&amp;gt;query($dql, $id)-&amp;gt;getFirst();&lt;/p&gt;</description>
                <environment>Windows 7 64Bit&lt;br/&gt;
PHP 5.3&lt;br/&gt;
Symfony 1.4</environment>
            <key id="13506">DC-1050</key>
            <summary>Doctrine_Relation_ForeignKey ignores ATTR_COLL_KEY attribute</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="fishbone">Uli Hecht</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Mar 2012 22:55:02 +0000</created>
                <updated>Wed, 7 Mar 2012 13:02:40 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Attributes</component>
                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17534" author="fishbone" created="Wed, 7 Mar 2012 13:02:40 +0000"  >&lt;p&gt;Suggested patch&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11167" name="ForeignKey.php.patch" size="642" author="fishbone" created="Wed, 7 Mar 2012 13:02:40 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-371] Lazy loading - doctrine makes extra queries into db</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-371</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Just downloaded symfony 1.4&lt;/p&gt;

&lt;p&gt;First of all I have a query:&lt;/p&gt;

&lt;p&gt;                $q = \Doctrine_Query::create()&lt;br/&gt;
                    -&amp;gt;select(&apos;u.&lt;b&gt;, ur.&lt;/b&gt;&apos;)&lt;br/&gt;
                    -&amp;gt;from(&apos;UserDb u&apos;)&lt;br/&gt;
                    -&amp;gt;leftJoin(&apos;u.RealUserDetailsDb ur&apos;)&lt;br/&gt;
                    -&amp;gt;leftJoin(&apos;u.MockUserDetailsDb um&apos;)&lt;br/&gt;
                    -&amp;gt;where(&apos;u.id = :user_id&apos;)&lt;br/&gt;
                ;&lt;br/&gt;
                $user = $q-&amp;gt;fetchOne(array(&apos;:user_id&apos; =&amp;gt; $uid));&lt;/p&gt;

&lt;p&gt;After that I&apos;m accessing the fields of this object:&lt;/p&gt;

&lt;p&gt;                $userArray = array(&lt;br/&gt;
                    &apos;id&apos; =&amp;gt; $this-&amp;gt;getUser()-&amp;gt;getId(),&lt;br/&gt;
                    &apos;real_user_details_id&apos; =&amp;gt; $this-&amp;gt;getUser()-&amp;gt;getRealUserDetailsId(),&lt;br/&gt;
                    &apos;mock_user_details_id&apos; =&amp;gt; $this-&amp;gt;getUser()-&amp;gt;getMockUserDetailsId(),&lt;br/&gt;
                    &apos;real_user_details&apos; =&amp;gt; array(),&lt;br/&gt;
                    &apos;mock_user_details&apos; =&amp;gt; array()&lt;br/&gt;
                );&lt;/p&gt;

&lt;p&gt;This is the actual queries into DB:&lt;/p&gt;

&lt;p&gt;NR1:&lt;br/&gt;
SELECT u.id AS u_&lt;em&gt;id, u.user_real_id AS u&lt;/em&gt;&lt;em&gt;user_real_id, u.user_mock_id AS u&lt;/em&gt;&lt;em&gt;user_mock_id, u2.id AS u2&lt;/em&gt;&lt;em&gt;id, u2.nickname AS u2&lt;/em&gt;&lt;em&gt;nickname, u2.email AS u2&lt;/em&gt;_email FROM user u LEFT JOIN user_real u2 ON u.user_real_id = u2.id LEFT JOIN user_mock u3 ON u.user_mock_id = u3.id WHERE (u.id = :user_id)&lt;/p&gt;

&lt;p&gt;NR2:&lt;br/&gt;
SELECT u.id AS u_&lt;em&gt;id, u.user_real_id AS u&lt;/em&gt;&lt;em&gt;user_real_id, u.user_mock_id AS u&lt;/em&gt;_user_mock_id FROM user u WHERE (u.id = &apos;1&apos;) LIMIT 1&lt;/p&gt;

&lt;p&gt;As you can see there are TWO queries however there should be only one query. The problem is that u.user_real_id is NULL in database and when I do  &apos;real_user_details_id&apos; =&amp;gt; $this-&amp;gt;getUser()-&amp;gt;getRealUserDetailsId() doctrine does not have enough intelligence to understand that these fields have been already requested in NR1. If I comment this field, everything works well. &lt;/p&gt;

&lt;p&gt;SURPRISE! &lt;br/&gt;
And now a surprise... if I modify a little bit my first query: &quot;&lt;del&gt;&amp;gt;select(&apos;u.&lt;b&gt;&apos;)&quot; instead of , &quot;&lt;/del&gt;&amp;gt;select(&apos;u.&lt;/b&gt;,  ur.*&apos;)&quot; it WON&apos;T make TWO queries. It will make ONLY ONE!&lt;/p&gt;

&lt;p&gt;As you understand this a very critical bug and of course our system won&apos;t go to production with this bug. &lt;/p&gt;

&lt;p&gt;P.S. Is it possible to turn off the lazy loading in doctrine?&lt;/p&gt;</description>
                <environment>Symfony 1.4, Doctrine Version: 1.2.0-BETA3</environment>
            <key id="10636">DC-371</key>
            <summary>Lazy loading - doctrine makes extra queries into db</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="drapeko">Roman Drapeko</reporter>
                        <labels>
                    </labels>
                <created>Sat, 19 Dec 2009 22:53:48 +0000</created>
                <updated>Thu, 23 Dec 2010 20:22:10 +0000</updated>
                                    <version>1.2.0-BETA3</version>
                                                <component>Behaviors</component>
                <component>Documentation</component>
                <component>Query</component>
                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="11405" author="drapeko" created="Sun, 17 Jan 2010 16:56:01 +0000"  >&lt;p&gt;Any comments? Will it be fixed??&lt;/p&gt;</comment>
                    <comment id="11893" author="jwage" created="Mon, 1 Mar 2010 15:52:49 +0000"  >&lt;p&gt;Hi, I&apos;d like to take a look but can you make a failing test case that I can run so that I can see if I can come up with a patch that fixes your case and doesn&apos;t break anything else.&lt;/p&gt;</comment>
                    <comment id="13087" author="lukis" created="Tue, 1 Jun 2010 13:11:16 +0000"  >&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;I had similar problem but after several hours i did work it out&lt;/p&gt;

&lt;p&gt;Try to make get method in your model for getting field which has NULL value in database&lt;/p&gt;

&lt;p&gt;public function getUserRealId() &lt;/p&gt;
{

  return $this-&amp;gt;_get(&quot;user_real_id&quot;, false);

}

&lt;p&gt;by making second argument false u force doctrine not to lazy load value and extra sql query is not created&lt;/p&gt;

&lt;p&gt;regards&lt;/p&gt;</comment>
                    <comment id="13207" author="jwage" created="Tue, 8 Jun 2010 16:31:53 +0000"  >&lt;p&gt;Has anyone been able to reproduce this in a test case? I am not having much luck so far.&lt;/p&gt;</comment>
                    <comment id="15001" author="gena01" created="Thu, 23 Dec 2010 20:22:10 +0000"  >&lt;p&gt;I&apos;ve seen this a ton of times. Basically when it loads related records through the Hydrator using leftJoin() and gets NULLs back. BUT it doesn&apos;t save the fact that the related records are NULL. So when you actually do call to getRelated objects it sees that it doesn&apos;t have the value cached and runs the query again.&lt;/p&gt;

&lt;p&gt;Let me know if I should show you the problem in the Doctrine code base.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-690] Wrong data type for oracle integer</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-690</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Trying to migrate from doctrine 1 to 1.2 and this problem came up to me, i cant map a column to integer(7) (which should create a number(7) column)  using Oracle, he always create a NUMBER(20) field.&lt;/p&gt;

&lt;p&gt;Taking a look at Doctrine_DataDict_Oracle i realize the problem is here.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11384">DC-690</key>
            <summary>Wrong data type for oracle integer</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="dead_thinker">Arian Maykon de Ara&#250;jo Di&#243;genes</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 May 2010 10:06:23 +0000</created>
                <updated>Tue, 8 Jun 2010 11:05:38 +0000</updated>
                                    <version>1.2.2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13162" author="jwage" created="Tue, 8 Jun 2010 11:05:38 +0000"  >&lt;p&gt;We made a bunch of changes/fixes related to oracle. This was to fix another bug I believe. I can&apos;t remember the user that is responsible for these changes. Does anyone else remember or know anything?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-674] NULL Dates are translated to &apos;0000-00-00&apos; after upgrading to 1.2.2</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-674</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Once the upgrade was done from Doctrine 1.2.1 to 1.2.2 we discovered that date related issues started to appear.&lt;br/&gt;
With dates that are persisted in DB as NULL are translated to &quot;0000-00-00&quot; when retrieved from DB. This has occurred in multiple places and is quite worrying as there is a lot of dates in our project. This means that everywhere in our codebase where we check a datevalue in our Models is NULL we need also to check for the string literal &quot;0000-00-00&quot;.&lt;/p&gt;
</description>
                <environment>Zend Framework, Ubuntu 9.10, MySQL </environment>
            <key id="11343">DC-674</key>
            <summary>NULL Dates are translated to &apos;0000-00-00&apos; after upgrading to 1.2.2</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="villeit">Ville It&#228;maa</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 May 2010 07:59:54 +0000</created>
                <updated>Wed, 6 Oct 2010 06:29:40 +0000</updated>
                                    <version>1.2.1</version>
                <version>1.2.2</version>
                                <fixVersion>1.2.1</fixVersion>
                <fixVersion>1.2.2</fixVersion>
                                <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="12895" author="jwage" created="Mon, 10 May 2010 12:19:21 +0000"  >&lt;p&gt;Are you able to reproduce this in a test case?&lt;/p&gt;</comment>
                    <comment id="12909" author="villeit" created="Tue, 11 May 2010 04:54:06 +0000"  >&lt;p&gt;We reverted to Doctrine 1.2.1 after realising the bug to confirm it was Doctrine 1.2.2 that was the cause for the problem. And as a result the records with NULL dates in the DB became NULL in the Models.&lt;br/&gt;
But when using Doctrine 1.2.2, the NULL dates became &apos;0000-00-00&apos; in the Models.&lt;br/&gt;
I don&apos;t have any other way to reproduce this error.&lt;/p&gt;</comment>
                    <comment id="12912" author="jwage" created="Tue, 11 May 2010 08:06:09 +0000"  >&lt;p&gt;Were you able to identity which changeset it was? You can read about creating test cases here &lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_2/en/unit-testing&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/documentation/manual/1_2/en/unit-testing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So far I am not able to reproduce the error you described.&lt;/p&gt;</comment>
                    <comment id="13212" author="jwage" created="Tue, 8 Jun 2010 16:54:48 +0000"  >&lt;p&gt;I&apos;d like to fix this. Did you ever figure out which changeset introduced the issue? I&apos;ve been trying to figure it out myself.&lt;/p&gt;</comment>
                    <comment id="14535" author="hroland" created="Wed, 6 Oct 2010 06:29:30 +0000"  >&lt;p&gt;With 1.2.3 this works for me fine with both TIMESTAMP and DATE fields.&lt;/p&gt;


&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;YAML

        date_of_birth:
            type: date

BASE MODEL

        $this-&amp;gt;hasColumn(&apos;date_of_birth&apos;, &apos;date&apos;, null, array(
             &apos;type&apos; =&amp;gt; &apos;date&apos;,

             // try these two
             // &apos;notnull&apos; =&amp;gt; false,
             // &apos;default&apos; =&amp;gt; null
         ));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;YAML

        exported_at:
            type: timestamp(25)
            notnull: false
            default: null

            # in this model I have everything to make sure it accepts and defaults to NULL

BASE MODEL

        $this-&amp;gt;hasColumn(&apos;exported_at&apos;, &apos;timestamp&apos;, 25, array(
             &apos;type&apos; =&amp;gt; &apos;timestamp&apos;,
             &apos;notnull&apos; =&amp;gt; false,
             &apos;length&apos; =&amp;gt; &apos;25&apos;,
             ));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You may try adding these to your YAML and (base) models&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;
YAML

    fieldname:
         . . .
        notnull: false
        default: null

BASE MODEL

        $this-&amp;gt;hasColumn(&apos;fieldname&apos;, . . .
             . . .
             &apos;notnull&apos; =&amp;gt; false, // &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;
             // &apos;default&apos; =&amp;gt; null, // &amp;lt;&amp;lt;&amp;lt; maybe, probably not needed
             ));

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I hope it helps.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-659] Sluggable behavior does not check uniqueness on insert if a slug is manually set, causing SQL error/crash</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-659</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The Sluggable behavior has the following code:
&lt;br class=&quot;atl-forced-newline&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;Sluggable.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    /**
     * Set the slug value automatically when a record is inserted
     *
     * @param Doctrine_Event $event
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; void
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function preInsert(Doctrine_Event $event)
    {
        $record = $event-&amp;gt;getInvoker();
        $name = $record-&amp;gt;getTable()-&amp;gt;getFieldName($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_options[&apos;name&apos;]);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ( ! $record-&amp;gt;$name) {
            $record-&amp;gt;$name = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildSlugFromFields($record);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;However, this can lead to problems...&lt;/p&gt;

&lt;p&gt;If the user incorrectly assigns a duplicate slug to the record then there is no uniqueness checking in doctrine and you get an uncaught SQL error looking something like this:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry &apos;my-slug-en_GB&apos; for key &apos;foo_i18n_sluggable_idx&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If this kind of &quot;don&apos;t do a preInsert check if I manunally set the slug&quot; behavior is a &lt;em&gt;FEATURE&lt;/em&gt; then it would be best to have an option to allow it to be disabled. If it is a &lt;em&gt;BUG&lt;/em&gt; then I would suggest that the preInsert method should be changed to:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;Sluggable.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    /**
     * Set the slug value automatically when a record is inserted
     *
     * @param Doctrine_Event $event
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; void
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function preInsert(Doctrine_Event $event)
    {
        $record = $event-&amp;gt;getInvoker();
        $name = $record-&amp;gt;getTable()-&amp;gt;getFieldName($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_options[&apos;name&apos;]);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ( ! $record-&amp;gt;$name) {
            $record-&amp;gt;$name = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildSlugFromFields($record);
        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; { &lt;span class=&quot;code-comment&quot;&gt;// Still check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; slug uniqueness when you insert
&lt;/span&gt;            $record-&amp;gt;$name = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildSlugFromSlugField($record);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 


&lt;p&gt;C&lt;/p&gt;</description>
                <environment>symfony-1.3.4 and doctrine-1.2.2</environment>
            <key id="11307">DC-659</key>
            <summary>Sluggable behavior does not check uniqueness on insert if a slug is manually set, causing SQL error/crash</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="caponica">Christian Seaman</reporter>
                        <labels>
                    </labels>
                <created>Sat, 1 May 2010 14:22:21 +0000</created>
                <updated>Tue, 5 Oct 2010 11:14:25 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13177" author="jwage" created="Tue, 8 Jun 2010 13:38:42 +0000"  >&lt;p&gt;Can you provide your changes as a patch/diff with a test case?&lt;/p&gt;</comment>
                    <comment id="14531" author="caponica" created="Tue, 5 Oct 2010 11:14:25 +0000"  >&lt;p&gt;Hi Jonathan,&lt;/p&gt;

&lt;p&gt;I&apos;m not so hot at making patches or test cases, but it should be fairly easy if you know what you&apos;re doing...&lt;/p&gt;

&lt;p&gt;Just try to create and save two records with the same hard-coded slug and the second one will fail with an ugly MySQL crash.&lt;/p&gt;

&lt;p&gt;If you add the lines&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;        } else { // Still check for slug uniqueness when you insert
            $record-&amp;gt;$name = $this-&amp;gt;buildSlugFromSlugField($record);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to the Sluggable::preInsert() method then this problem is averted and the test cases will pass.&lt;/p&gt;

&lt;p&gt;I have been running with this modification in our production version of Doctrine since I first reported this in May and it all seems to work well.&lt;/p&gt;

&lt;p&gt;If you really need me to figure out how to make a patch and test case please re-comment on this ticket and I&apos;ll see what I can do when I have some free time.&lt;/p&gt;


&lt;p&gt;C&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-644] _getCacheKeys() exhausts memory</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-644</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>
&lt;p&gt;My scripts have excessive memory consumption and I&apos;ve often saw in my logs:&lt;/p&gt;

&lt;p&gt;PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 2097152 bytes) in /proj/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Cache/Apc.php on line 111&lt;/p&gt;

&lt;p&gt;Looking into the code I&apos;ve found which function to blame:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;    protected function _getCacheKeys()&lt;br/&gt;
    {&lt;br/&gt;
        $ci = apc_cache_info(&apos;user&apos;);&lt;br/&gt;
        $keys = array();&lt;/p&gt;

&lt;p&gt;        foreach ($ci&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;cache_list&amp;#39;&amp;#93;&lt;/span&gt; as $entry) &lt;/p&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: {          $keys[] = $entry[&amp;#39;info&amp;#39;]; ######### THIS IS THE LINE        }&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;        return $keys;&lt;br/&gt;
    }&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;My server extensively uses APC caching and it&apos;s normal to have many cache keys.&lt;br/&gt;
Obviously retrieving ALL of them is time and memory consuming.&lt;br/&gt;
As I&apos;m not well versed with Doctrine&apos;s code, I didn&apos;t want to dive further in.&lt;/p&gt;

&lt;p&gt;Is there another way to avoid this pitfall? &lt;/p&gt;</description>
                <environment>Doctrine is installed as a Symfony plugin. Using the latest Symfony from SVN.</environment>
            <key id="11258">DC-644</key>
            <summary>_getCacheKeys() exhausts memory</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="colnector">Amir W</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Apr 2010 12:54:15 +0000</created>
                <updated>Wed, 6 Jul 2011 08:17:14 +0000</updated>
                                                                    <component>Caching</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12757" author="colnector" created="Mon, 26 Apr 2010 20:38:25 +0000"  >&lt;p&gt;Is there any patch that could be provided meanwhile? This is quite a problem on a live website.&lt;/p&gt;</comment>
                    <comment id="12887" author="colnector" created="Mon, 10 May 2010 02:44:24 +0000"  >&lt;p&gt;Is this not a critical issue for Doctrine&apos;s cache? It&apos;s been up for 2 weeks with not even a comment...&lt;/p&gt;</comment>
                    <comment id="12896" author="jwage" created="Mon, 10 May 2010 12:34:16 +0000"  >&lt;p&gt;Hi, what are you calling that is invoking _getCacheKeys()? The only methods that call it are the deleteBy*() methods. It is expected that these methods have to get the entire list of cache keys from the driver in order to perform the delete by operation. These cache clearing operations should probably be done in the CLI environment where the memory limits are higher. If you want to avoid _getCacheKeys() being invoked, then you must not use the deleteBy*() methods.&lt;/p&gt;</comment>
                    <comment id="12897" author="colnector" created="Mon, 10 May 2010 13:15:10 +0000"  >&lt;p&gt;Thank you for commenting. Yes, I am using deleteByRegex() since I need to expire some result cache entries upon an update operation. What other choice do I have if I wish to keep using the result cache offered by Doctrine? Is there any other mechanism?&lt;/p&gt;

&lt;p&gt;Can&apos;t _getCacheKeys() be optimized some way?&lt;/p&gt;</comment>
                    <comment id="12898" author="jwage" created="Mon, 10 May 2010 13:22:50 +0000"  >&lt;p&gt;No, it is not able to be optimized anymore. It has to load all the keys into a php array in memory in order to loop over them to compare against the regex. You should probably not be doing cache clearing operations in the browser under apache. If you do, you&apos;ll need to raise your memory limit.&lt;/p&gt;</comment>
                    <comment id="12899" author="colnector" created="Mon, 10 May 2010 13:29:32 +0000"  >&lt;p&gt;My code actually had a few of these calls and I&apos;ve now removed use of the result cache with Doctrine. What you&apos;re writing means the result cache is not usable for dynamic websites. IMHO, it&apos;s a good practice to cache results and remove them once an update is made to the data (which naturally can happen due to an update from a user). However, if that by itself creates an overload on the server (and as you know even a temporary memory abuse leads to an overload), I cannot see how it can be useful.&lt;br/&gt;
Please tell me if you think there&apos;s a way the results cache can still be usable for a dynamic website.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="12900" author="jwage" created="Mon, 10 May 2010 13:37:08 +0000"  >&lt;p&gt;This is the only way to allow more complex delete functionality. How you use it, is not up to us. We intended that cache clearing is done from the command line or in an environment where the memory limit is high enough to be able to load all those keys. It may not be able to be used by everyone, if it is not working for how you are using it then you will need to think of another solution I suppose.&lt;/p&gt;</comment>
                    <comment id="12901" author="colnector" created="Mon, 10 May 2010 13:58:34 +0000"  >&lt;p&gt;Thank you for your response and I&apos;ll think of another solution for my application.&lt;/p&gt;

&lt;p&gt;I did dive into the code and there&apos;s a relevant &lt;b&gt;optimization&lt;/b&gt; that could be made.&lt;/p&gt;

&lt;p&gt;_getCacheKeys() is actually creating another array for all the cache keys which needlessly increases the memory used.&lt;br/&gt;
If the deleteBy*() method would be implemented at the driver level (such as with Apc.php) and not at the general level (Driver.php as it is now) this array would not have to be created. It won&apos;t be such a code bloat and would surely lessen memory use.&lt;/p&gt;

&lt;p&gt;There could be a way around the problem which also implements another feature I miss with the results cache. By allowing some sort of cache tagging to mark the items that may need to be deleted we could easily delete relevant entries. I&apos;ll describe the interface here.&lt;/p&gt;

&lt;p&gt;Instead of &lt;br/&gt;
$q = $q-&amp;gt;useResultCache(true, 86400);&lt;/p&gt;

&lt;p&gt;There should be&lt;br/&gt;
$q = $q-&amp;gt;useTagResultCache(&apos;SomeTag&apos;, true, 86400);&lt;br/&gt;
which does the same PLUS update a cached variable (such as &apos;Doctrine_Result_Cache_Tag_SomeTag&apos;) which references the result cache keys of &apos;SomeTag&apos;.&lt;/p&gt;

&lt;p&gt;We can then easily implement deletion of relevant result cache entries with&lt;/p&gt;

&lt;p&gt;deleteByTag(&apos;SomeTag&apos;)&lt;/p&gt;

&lt;p&gt;which would read  &apos;Doctrine_Result_Cache_Tag_SomeTag&apos; to figure out which entries should be removed from the cache.&lt;/p&gt;

&lt;p&gt;I&apos;m pretty sure my usage scenario is not marginal but let me know what you think.&lt;/p&gt;</comment>
                    <comment id="12902" author="jwage" created="Mon, 10 May 2010 14:08:13 +0000"  >&lt;p&gt;This is already possible if I understand what you describe.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$q-&amp;gt;useResultCache(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, 3600, &apos;key_to_store_cache_under&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now you can do:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$cacheDriver-&amp;gt;delete(&apos;key_to_store_cache_under&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Also what you describe useTagResultCache() and keeping up with our own list of cache keys is the way it used to be and was changed to this after worse performance problems were discovered with that approach.&lt;/p&gt;</comment>
                    <comment id="12903" author="colnector" created="Mon, 10 May 2010 14:44:26 +0000"  >&lt;p&gt;Perhaps I&apos;ve been misunderstood so I&apos;ll try explain from the start.&lt;/p&gt;

&lt;p&gt;In my system a few queries do relate to the same pieces of information. That information can be updated by a user and thus I would need to remove anywhere between 0 and 50 related result cache variables. I cannot easily name each and every one of my queries thus giving a specific key name doesn&apos;t help. So what I did was to prefix the name of each of the queries to indicate that I&apos;ll know how to remove them. I may have thousands of results cached and would need to clear just a few. That&apos;s why I use the deleteBy*() which proves to be extremely inefficient as it retrieves ALL the keys in my cache driver and not only the Doctrine related ones.&lt;/p&gt;

&lt;p&gt;I really don&apos;t know how it has been implemented before but what I suggest wouldn&apos;t hurt performance as tagging would be an optional addition managed with another variable. If you think that won&apos;t b useful to other Doctrine users, I&apos;ll simply implement it for my system.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="12904" author="jwage" created="Mon, 10 May 2010 14:54:35 +0000"  >&lt;p&gt;I think the best solution is the one you suggested earlier. That each cache driver should directly implement this functionality and bypass the creation of the array. What do you think? It is backwards compatible so that way we can commit it in 1.2.&lt;/p&gt;</comment>
                    <comment id="12905" author="colnector" created="Mon, 10 May 2010 15:20:07 +0000"  >&lt;p&gt;Bypassing the array is a required optimization which is easy to implement but it&apos;s not really a solution to the problem I&apos;m facing and I believe is common enough (Zend_Cache for example implements tagging) and need to be offered. As it&apos;ll be 2 new functions that will implement tagging only when specifically requested, it&apos;ll also be backward compatible. The only thing I&apos;m not sure about is if an implementation of some locking mechanism would be needed for the cached variable which would hold the list of cache keys for a specific tag.&lt;/p&gt;</comment>
                    <comment id="12906" author="jwage" created="Mon, 10 May 2010 15:38:52 +0000"  >&lt;p&gt;Let me know what you come up with and we&apos;ll have a look at including it in the next 1.2.x release.&lt;/p&gt;</comment>
                    <comment id="12981" author="colnector" created="Sun, 16 May 2010 14:21:37 +0000"  >&lt;p&gt;Bypassing the extra array is still not good enough and IMHO the whole idea of deleteBy() should NOT be used if many such requests could be made, as is my case.&lt;/p&gt;

&lt;p&gt;What I&apos;ve done now is what I mentioned before with a patch that is quite ugly.&lt;/p&gt;

&lt;p&gt;In Doctrine/Query/Abstract.php right after the line&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$cacheDriver-&amp;gt;save($hash, $cached, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getResultCacheLifeSpan());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I&apos;ve added &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!empty($GLOBALS[&apos;rcache_users_in_query&apos;])) {
                	MyCache::keepRelatedCacheKey($GLOBALS[&apos;rcache_users_in_query&apos;], $hash);
                }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Which saves another cache key which holds the hash tags that would have to be deleted on an update.&lt;br/&gt;
My global variable is actually an array as a Doctrine query result may be associated with more than one user and possibly other parameters.&lt;br/&gt;
Before calling the $q-&amp;gt;execute(), I simply update this variable.&lt;/p&gt;

&lt;p&gt;When a user on my system does the update, I then delete all relevant Doctrine keys with something like&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (is_null($cacheDriver)) $cacheDriver = Doctrine_Manager::getInstance()-&amp;gt;getAttribute(Doctrine_Core::ATTR_RESULT_CACHE);
		
		foreach($arKeys as $key) {
			$cacheDriver-&amp;gt;delete($key);			
		}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and then delete my other cache key.&lt;/p&gt;

&lt;p&gt;This solution works well for me. Sorry I cannot make a nice Doctrine patch for it as I&apos;m not well versed with your code. I still believe it should be supported by Doctrine with an optional extra parameter for $q-&amp;gt;useResultCache()&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="13191" author="hobodave" created="Tue, 8 Jun 2010 14:42:42 +0000"  >&lt;p&gt;Hi Amir,&lt;/p&gt;

&lt;p&gt;Zend_Cache does not implement tagging for either APC or Memcached backends, see the &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-460&quot; class=&quot;external-link&quot;&gt;documentation&lt;/a&gt;. It also likely never will, all requests for this functionality have been closed with Wont Fix.&lt;/p&gt;

&lt;p&gt;I don&apos;t think the deleteBy methods should have ever been implemented. When initially implemented they cached a &quot;doctrine_cache_keys&quot; variable to store the keys known to Doctrine. This however led to a crippling bug that would crash my production servers after a few hours. Not even a friendly &quot;out of memory&quot; limit, but a slowdown and eventual crash. Please see &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-460&quot; class=&quot;external-link&quot;&gt;DDC-460&lt;/a&gt; for details. Note that I don&apos;t use the magic delete methods, just simple saves with timeouts and this was affecting me.&lt;/p&gt;

&lt;p&gt;I fixed the solution as you&apos;ve seen using the _getCacheKeys() method. I don&apos;t believe this functionality should have ever been added to Doctrine to begin with, but this is what we have to work with. It should be the responsibility of the cache store to handle tagging and such, not poorly hacked on with application code.&lt;/p&gt;

&lt;p&gt;As it stands, the current implementation doesn&apos;t affect people who aren&apos;t even using this functionality, as it should be. As Jon suggested, you shouldn&apos;t be using this in the context of a page request. Use a CLI script or work on another solution. Your idea of tracking your keys in application code is a good idea, but it doesn&apos;t belong in Doctrine imo.&lt;/p&gt;</comment>
                    <comment id="13263" author="colnector" created="Thu, 10 Jun 2010 02:07:13 +0000"  >&lt;p&gt;Thanks David for your comment.&lt;/p&gt;

&lt;p&gt;I agree with you that my implementation should not belong in Doctrine and that tagging should have been a part of the cache backends.&lt;/p&gt;

&lt;p&gt;Continuing with the same logic you&apos;ve presented, deleteBy...() functionality **&lt;b&gt;should be removed&lt;/b&gt;** from Doctrine if it causes the system to crash as it does so in an obnoxious way so that it would take too long for most developers to notice this is where the problem lies. It has certainly taken too much of my time and efforts and I&apos;d rather save the pain from others.&lt;/p&gt;</comment>
                    <comment id="16119" author="carsten" created="Wed, 6 Jul 2011 08:17:13 +0000"  >&lt;p&gt;We had the exact same problem. We used a &quot;deleteAll()&quot; of a ApcCache object and ran into the &quot;allowed memory size exhausted&quot; pitfall. We helped ourselves with a new class that extends ApcCache and uses the simpler apc_clear_cache function.&lt;/p&gt;


&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
namespace Foo\Cache;

class ApcCache extends \Doctrine\Common\Cache\ApcCache
{
    /**
     * Delete all cache entries. Memory saving version...
     *
     * @return bool
     */
    public function deleteAll()
    {
        return apc_clear_cache(&apos;user&apos;);
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
use Foo\Cache\ApcCache as Apc;
...
$this-&amp;gt;_apc = new Apc();
$this-&amp;gt;_apc-&amp;gt;deleteAll();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;This doesn&apos;t return the ids of the deleted entries like the original function but we don&apos;t need that. So this works fine for us.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-586] Doctrine outputs invalid SQL when using Limit and Order By conditions in MSSQL</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-586</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have a Doctrine model which connects to a MSSQL database. I was trying to run the following query:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$q = Doctrine_Query::create()
    -&amp;gt;select(&apos;*&apos;)
    -&amp;gt;from(&apos;Comment c&apos;)
    -&amp;gt;innerJoin(&apos;c.RecordType&apos;)
    -&amp;gt;innerJoin(&apos;c.Department&apos;)
    -&amp;gt;limit(10)
    -&amp;gt;orderBy(&apos;c.Counter&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The code failed with a SQL Syntax exception so I took a look at the generated query and found the following (SELECT fields shortened for readabilty):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SELECT * FROM (
	SELECT TOP 10 * FROM (
		SELECT TOP 10 [c].[counter] AS [c__counter], [c].[loanid] AS [c__loanid]... ... ...
		FROM comments c
			INNER JOIN [SystemTypes] [s] ON [c].[recordtype] = [s].[code] AND [s].[fieldname] = &apos;RecordType&apos;
			INNER JOIN [SystemTypes] [s2] ON [c].[department] = [s2].[code] AND [s2].[fieldname] = &apos;Department&apos;
		ORDER BY [c].[counter]
	) AS [inner_tbl]
	ORDER BY [inner_tbl].[counter] AS [c__counter] DESC
) AS [outer_tbl]
ORDER BY [outer_tbl].[counter] AS [c__counter] ASC
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;As you can see, the ORDER BY clauses on the inner_tbl and outer_tbl segments have AS clauses which do not belong there. If you fix the ORDER BY statements the query runs just fine.&lt;/p&gt;

&lt;p&gt;So I decided to prod around the Mssql.php connection class and found the following:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;140 &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function modifyLimitQuery($query, $limit = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $offset = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $isManip = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, $isSubQuery = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
141 {
...
169                    $field_array = explode(&apos;,&apos;, $fields_string);
170                    $field_array = array_shift($field_array);
171                    $aux2 = preg_split(&apos;/ as /&apos;, $field_array);
172                    $aux2 = explode(&apos;.&apos;, end($aux2));
173
174                    $aliases[$i] = trim(end($aux2));
...
232 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Line 171 seems to be in charge of setting up the orderBy aliases but it is looking for a lower case &apos; as &apos; string which doesn&apos;t exist in this SQL expression. Changing that to a case insensitive regular expression search seems to fix the problem:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;171                    $aux2 = preg_split(&apos;/ as /i&apos;, $field_array);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Here is the resulting SQL with the change:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SELECT * FROM (
	SELECT TOP 10 * FROM (
		SELECT TOP 10 [c].[counter] AS [c__counter], [c].[loanid] AS [c__loanid]... ... ...
		FROM comments c
			INNER JOIN [SystemTypes] [s] ON [c].[recordtype] = [s].[code] AND [s].[fieldname] = &apos;RecordType&apos;
			INNER JOIN [SystemTypes] [s2] ON [c].[department] = [s2].[code] AND [s2].[fieldname] = &apos;Department&apos;
		ORDER BY [c].[counter]
	) AS [inner_tbl]
	ORDER BY [inner_tbl].[c__counter] DESC
) AS [outer_tbl]
ORDER BY [outer_tbl].[c__counter] ASC]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This seems to fix the problem but I don&apos;t know if it&apos;ll create a regression. It&apos;s a start though. Anyone have any thoughts on this?&lt;/p&gt;</description>
                <environment>Windows XP&lt;br/&gt;
Apache 2.2&lt;br/&gt;
PHP 5.3&lt;br/&gt;
Doctrine 1.2.1&lt;br/&gt;
Symfony 1.4</environment>
            <key id="11089">DC-586</key>
            <summary>Doctrine outputs invalid SQL when using Limit and Order By conditions in MSSQL</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="pradador">Jose Prado</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Mar 2010 19:08:42 +0000</created>
                <updated>Thu, 18 Mar 2010 19:08:42 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-489] Doctrine_Record seems to have a bug with default values when updating</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-489</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;So lets see the table:&lt;/p&gt;

&lt;p&gt;User:&lt;br/&gt;
  tableName: users&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(1)&lt;br/&gt;
      fixed: false&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      primary: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    username:&lt;br/&gt;
      type: string(32)&lt;br/&gt;
      fixed: false&lt;br/&gt;
      unsigned: false&lt;br/&gt;
      primary: false&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: false&lt;br/&gt;
    password:&lt;br/&gt;
      type: string(48)&lt;br/&gt;
      fixed: false&lt;br/&gt;
      unsigned: false&lt;br/&gt;
      primary: false&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: false&lt;br/&gt;
    role:&lt;br/&gt;
      type: enum&lt;br/&gt;
      fixed: false&lt;br/&gt;
      unsigned: false&lt;br/&gt;
      values:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;admin&lt;/li&gt;
	&lt;li&gt;support&lt;br/&gt;
      default: support                 &amp;lt;----- &lt;span class=&quot;error&quot;&gt;Unable to render embedded object: File (ROOT OF EVIL) not found.&lt;/span&gt;&lt;br/&gt;
      primary: false&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: false&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So lets say we have a user with `role` = &apos;support&apos; and want to set em&lt;br/&gt;
&apos;admin&apos; we wrote&lt;/p&gt;

&lt;p&gt;$user = new App_Model_User();&lt;br/&gt;
$user-&amp;gt;assignIdentifier(1);&lt;br/&gt;
$user-&amp;gt;role = &apos;admin&apos;;&lt;br/&gt;
$user-&amp;gt;save();&lt;br/&gt;
var_dump($user-&amp;gt;toArray());&lt;/p&gt;

&lt;p&gt;in debugger we see SQL query been made:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0.55 ms&amp;#93;&lt;/span&gt; UPDATE users SET role = ? WHERE id = ?&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
	&lt;li&gt;bindings: admin&lt;/li&gt;
	&lt;li&gt;1&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;array(6) &lt;/p&gt;
{ [&quot;id&quot;]=&amp;gt;  int(1) [&quot;display_name&quot;]=&amp;gt;  string(13)
&quot;Administrator&quot; [&quot;username&quot;]=&amp;gt;  string(4) &quot;root&quot; [&quot;password&quot;]=&amp;gt;
string(40) &quot;45bb0f589525a2f0f2a48620bb59b1b8baef0c1d&quot; [&quot;role&quot;]=&amp;gt;
string(5) &quot;admin&quot; [&quot;is_active&quot;]=&amp;gt;  bool(true) }

&lt;p&gt;Superb! Works as it should! So lets now set role of this user back to&lt;br/&gt;
&apos;support&apos;:&lt;/p&gt;

&lt;p&gt;$user = new App_Model_User();&lt;br/&gt;
$user-&amp;gt;assignIdentifier(1);&lt;br/&gt;
$user-&amp;gt;role = &apos;support&apos;; // This value defined as default in scheme,&lt;br/&gt;
thats why have problems&lt;br/&gt;
$user-&amp;gt;save();&lt;br/&gt;
var_dump($user-&amp;gt;toArray());&lt;/p&gt;

&lt;p&gt;in debugger we didnot see any UPDATE queries! However object is been&lt;br/&gt;
changed, results just has not been flushed to database.&lt;/p&gt;

&lt;p&gt;array(6) &lt;/p&gt;
{ [&quot;id&quot;]=&amp;gt;  int(1) [&quot;display_name&quot;]=&amp;gt;  string(13)
&quot;Administrator&quot; [&quot;username&quot;]=&amp;gt;  string(4) &quot;root&quot; [&quot;password&quot;]=&amp;gt;
string(40) &quot;45bb0f589525a2f0f2a48620bb59b1b8baef0c1d&quot; [&quot;role&quot;]=&amp;gt;
string(7) &quot;support&quot; [&quot;is_active&quot;]=&amp;gt;  bool(true) }

&lt;p&gt;I cant overcome this problem right now, unfortunatelly (well I can&lt;br/&gt;
just remove all default values from table definitions or use&lt;br/&gt;
Doctrine_Query for updating staff.. but I&apos;d like to use models &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/sad.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;

&lt;p&gt;However if I use Doctrine_Query of even&lt;/p&gt;

&lt;p&gt;$user = Doctrine_Core::getTable(&apos;App_Model_User&apos;)-&amp;gt;find(1);&lt;/p&gt;

&lt;p&gt;instead of&lt;/p&gt;

&lt;p&gt;$user = new App_Model_User();&lt;br/&gt;
$user-&amp;gt;assignIdentifier(1);&lt;/p&gt;

&lt;p&gt;updates works well...&lt;/p&gt;</description>
                <environment>PHP 5.2.11</environment>
            <key id="10858">DC-489</key>
            <summary>Doctrine_Record seems to have a bug with default values when updating</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="silverstorm">Silver</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Feb 2010 15:15:34 +0000</created>
                <updated>Thu, 20 Jan 2011 08:53:02 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="15153" author="elijen" created="Thu, 20 Jan 2011 08:52:31 +0000"  >&lt;p&gt;I second this.&lt;/p&gt;

&lt;p&gt;When you UPDATE row with save() method of Record after setting identifier by assignIdentifier() doctrine removes columns updates from SQL which are set to default values same as it would do with INSERT. Other columns are updated correctly. This is sure a bug.&lt;/p&gt;

&lt;p&gt;You can workaround this by setting the value as NULL instead of the actual default value. (Which I wouldn&apos;t recommend).&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-802] Alias in select and having</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-802</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;i have query&lt;/p&gt;

&lt;p&gt;$q = Doctrine_Query::create()&lt;br/&gt;
            -&amp;gt;select(&apos;g.&lt;b&gt;,gp.&lt;/b&gt;,st.&lt;b&gt;,np.&lt;/b&gt;,v.&lt;b&gt;,s.&lt;/b&gt;,max(gp.card_date) as md&apos;)&lt;br/&gt;
            -&amp;gt;from(&apos;gragdans as g&apos;)&lt;br/&gt;
            -&amp;gt;innerJoin(&apos;g.Pribs_ gp&apos;)&lt;br/&gt;
            -&amp;gt;leftJoin(&apos;gp.Streets_ st&apos;)&lt;br/&gt;
            -&amp;gt;leftJoin(&apos;gp.Viddocs_ v&apos;)&lt;br/&gt;
            -&amp;gt;leftJoin(&apos;gp.Sobits_ s&apos;)&lt;br/&gt;
            -&amp;gt;leftJoin(&apos;st.Npunkts_ np&apos;)&lt;br/&gt;
            -&amp;gt;where(&apos;g.grid in &apos;.$idlst,1)&lt;br/&gt;
            -&amp;gt;orderby(&apos;fam&apos;)&lt;br/&gt;
            -&amp;gt;having(&apos;gp.card_date=md&apos;);&lt;/p&gt;

&lt;p&gt;When it runs i have error:&lt;/p&gt;

&lt;p&gt;&amp;lt;b&amp;gt;Fatal error&amp;lt;/b&amp;gt;:  Uncaught exception&lt;br/&gt;
&apos;Doctrine_Connection_Mysql_Exception&apos; with message &apos;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42S22&amp;#93;&lt;/span&gt;:&lt;br/&gt;
Column not found: 1054 Unknown column &apos;md&apos; in &apos;having clause&apos;&apos; in Z:&lt;br/&gt;
\home\new\www\system\application\plugins\doctrine\lib\Doctrine&lt;br/&gt;
\Connection.php:1082&lt;/p&gt;

&lt;p&gt;SQL for it looks like:&lt;/p&gt;

&lt;p&gt;SELECT g.grid AS g_&lt;em&gt;grid, g.fam AS g&lt;/em&gt;&lt;em&gt;fam, g.nam AS g&lt;/em&gt;_nam, g.otc AS&lt;br/&gt;
g_&lt;em&gt;otc, g.date_rogd AS g&lt;/em&gt;&lt;em&gt;date_rogd, g.gosgrid AS g&lt;/em&gt;_gosgrid,&lt;br/&gt;
g.rogd_place AS g_&lt;em&gt;rogd_place, g.pol AS g&lt;/em&gt;_pol, g.reg_date AS&lt;br/&gt;
g_&lt;em&gt;reg_date, g.deesp AS g&lt;/em&gt;&lt;em&gt;deesp, p.pribid AS p&lt;/em&gt;_pribid, p.grid AS&lt;br/&gt;
p_&lt;em&gt;grid, p.strid AS p&lt;/em&gt;&lt;em&gt;strid, p.hom AS p&lt;/em&gt;&lt;em&gt;hom, p.cor AS p&lt;/em&gt;_cor, p.kva&lt;br/&gt;
AS p_&lt;em&gt;kva, p.reg_date AS p&lt;/em&gt;&lt;em&gt;reg_date, p.vidid AS p&lt;/em&gt;_vidid, p.pas_ser&lt;br/&gt;
AS p_&lt;em&gt;pas_ser, p.pas_no AS p&lt;/em&gt;&lt;em&gt;pas_no, p.org_name AS p&lt;/em&gt;_org_name,&lt;br/&gt;
p.pas_date AS p_&lt;em&gt;pas_date, p.sobid AS p&lt;/em&gt;_sobid, p.reg_expire AS&lt;br/&gt;
p_&lt;em&gt;reg_expire, p.card_date AS p&lt;/em&gt;&lt;em&gt;card_date, s.strid AS s&lt;/em&gt;_strid,&lt;br/&gt;
s.npid AS s_&lt;em&gt;npid, s.name AS s&lt;/em&gt;&lt;em&gt;name, v.vidid AS v&lt;/em&gt;_vidid, v.name AS&lt;br/&gt;
v_&lt;em&gt;name, s2.sobid AS s2&lt;/em&gt;&lt;em&gt;sobid, s2.cod_s AS s2&lt;/em&gt;_cod_s, s2.cod_oi AS&lt;br/&gt;
s2_&lt;em&gt;cod_oi, s2.name AS s2&lt;/em&gt;&lt;em&gt;name, n.npid AS n&lt;/em&gt;&lt;em&gt;npid, n.name AS n&lt;/em&gt;_name,&lt;br/&gt;
n.sid AS n_&lt;em&gt;sid, MAX(p.card_date) AS p&lt;/em&gt;_0 FROM gragdans g INNER JOIN&lt;br/&gt;
prib p ON g.grid = p.grid LEFT JOIN streets s ON p.strid = s.strid&lt;br/&gt;
LEFT JOIN viddoc v ON p.vidid = v.vidid LEFT JOIN sobit s2 ON p.sobid&lt;br/&gt;
= s2.sobid LEFT JOIN npunkt n ON s.npid = n.npid WHERE (g.grid in (4,&lt;br/&gt;
13, 19, 20)) HAVING p.card_date=md ORDER BY g.fam&lt;/p&gt;

&lt;p&gt;But i need Query looks like:&lt;/p&gt;

&lt;p&gt;SELECT g.grid AS g_&lt;em&gt;grid, g.fam AS g&lt;/em&gt;&lt;em&gt;fam, g.nam AS g&lt;/em&gt;_nam, g.otc AS&lt;br/&gt;
g_&lt;em&gt;otc, g.date_rogd AS g&lt;/em&gt;&lt;em&gt;date_rogd, g.gosgrid AS g&lt;/em&gt;_gosgrid,&lt;br/&gt;
g.rogd_place AS g_&lt;em&gt;rogd_place, g.pol AS g&lt;/em&gt;_pol, g.reg_date AS&lt;br/&gt;
g_&lt;em&gt;reg_date, g.deesp AS g&lt;/em&gt;&lt;em&gt;deesp, p.pribid AS p&lt;/em&gt;_pribid, p.grid AS&lt;br/&gt;
p_&lt;em&gt;grid, p.strid AS p&lt;/em&gt;&lt;em&gt;strid, p.hom AS p&lt;/em&gt;&lt;em&gt;hom, p.cor AS p&lt;/em&gt;_cor, p.kva&lt;br/&gt;
AS p_&lt;em&gt;kva, p.reg_date AS p&lt;/em&gt;&lt;em&gt;reg_date, p.vidid AS p&lt;/em&gt;_vidid, p.pas_ser&lt;br/&gt;
AS p_&lt;em&gt;pas_ser, p.pas_no AS p&lt;/em&gt;&lt;em&gt;pas_no, p.org_name AS p&lt;/em&gt;_org_name,&lt;br/&gt;
p.pas_date AS p_&lt;em&gt;pas_date, p.sobid AS p&lt;/em&gt;_sobid, p.reg_expire AS&lt;br/&gt;
p_&lt;em&gt;reg_expire, p.card_date AS p&lt;/em&gt;&lt;em&gt;card_date, s.strid AS s&lt;/em&gt;_strid,&lt;br/&gt;
s.npid AS s_&lt;em&gt;npid, s.name AS s&lt;/em&gt;&lt;em&gt;name, v.vidid AS v&lt;/em&gt;_vidid, v.name AS&lt;br/&gt;
v_&lt;em&gt;name, s2.sobid AS s2&lt;/em&gt;&lt;em&gt;sobid, s2.cod_s AS s2&lt;/em&gt;_cod_s, s2.cod_oi AS&lt;br/&gt;
s2_&lt;em&gt;cod_oi, s2.name AS s2&lt;/em&gt;&lt;em&gt;name, n.npid AS n&lt;/em&gt;&lt;em&gt;npid, n.name AS n&lt;/em&gt;_name,&lt;br/&gt;
n.sid AS n__sid, MAX(p.card_date) AS md FROM gragdans g INNER JOIN&lt;br/&gt;
prib p ON g.grid = p.grid LEFT JOIN streets s ON p.strid = s.strid&lt;br/&gt;
LEFT JOIN viddoc v ON p.vidid = v.vidid LEFT JOIN sobit s2 ON p.sobid&lt;br/&gt;
= s2.sobid LEFT JOIN npunkt n ON s.npid = n.npid WHERE (g.grid in (4,&lt;br/&gt;
13, 19, 20)) group by fam HAVING p.card_date=md&lt;/p&gt;

&lt;p&gt;This query run fine and give me what i need.&lt;/p&gt;

&lt;p&gt;Doctrine dont use &apos;md&apos; alias instead it convert it to &apos;p__0&apos; &lt;/p&gt;</description>
                <environment>Windows XP sp3 </environment>
            <key id="11692">DC-802</key>
            <summary>Alias in select and having</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="skyranger">Vasiliy Altunin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 28 Jul 2010 22:39:58 +0000</created>
                <updated>Sat, 7 Aug 2010 15:39:30 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-755] CLONE [DC-558] incorrect handling of MODEL_CLASS_PREFIX causes Doctrine_Migration_Diff to drop the whole database when working from YAML (Regression)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-755</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Replicating the bug:&lt;br/&gt;
1. Set ATTR_MODEL_CLASS_PREFIX non-null&lt;br/&gt;
2. create schema file with entity&lt;br/&gt;
3. run doctrine build-all&lt;br/&gt;
4. copy schema file&lt;br/&gt;
5. edit schema file to add column to entity&lt;br/&gt;
6. run generate-migrations-diff from copy of schema file to edited schema file&lt;/p&gt;

&lt;p&gt;Expected (previous) behaviour:&lt;br/&gt;
Migration is generated to add the new column to entity&lt;/p&gt;

&lt;p&gt;Real behaviour:&lt;br/&gt;
Drops entity from database and creates new&lt;/p&gt;</description>
                <environment>Current HEAD of Doctrine 1.2</environment>
            <key id="11528">DC-755</key>
            <summary>CLONE [DC-558] incorrect handling of MODEL_CLASS_PREFIX causes Doctrine_Migration_Diff to drop the whole database when working from YAML (Regression)</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="andrewcoulton">Andrew Coulton</reporter>
                        <labels>
                    </labels>
                <created>Sun, 20 Jun 2010 09:58:04 +0000</created>
                <updated>Sun, 10 Oct 2010 18:51:58 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13377" author="andrewcoulton" created="Sun, 20 Jun 2010 10:08:30 +0000"  >&lt;p&gt;This seems to be a regression caused by the fix for &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-558&quot; title=&quot;CLONE -generate-migrations-diff is producing bogus migrations (drops the whole database)&quot;&gt;&lt;del&gt;DC-558&lt;/del&gt;&lt;/a&gt; which added the MODEL_CLASS_PREFIX to the $_toPrefix in Doctrine_Migration_Diff::generateChanges.&lt;/p&gt;

&lt;p&gt;While this fixed the issue when generating diff from models to YAML, it has now created the reverse issue for generating diffs from YAML to YAML - as the models generated for the &quot;from&quot; schema do not get MODEL_CLASS_PREFIX prepended and so now this command will drop all existing tables and recreate.&lt;/p&gt;

&lt;p&gt;I believe the fix may be to amend as:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;        $from = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_generateModels(
            Doctrine_Manager::getInstance()-&amp;gt;getAttribute(Doctrine_Core::ATTR_MODEL_CLASS_PREFIX) . self::$_fromPrefix,
            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_from);
        $to = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_generateModels(
            Doctrine_Manager::getInstance()-&amp;gt;getAttribute(Doctrine_Core::ATTR_MODEL_CLASS_PREFIX) . self::$_toPrefix,
            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_to                
        );
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Since it seems that when presented with a folder of models _generateModels ignores the prefix anyway. However, I&apos;m not sure of other impacts possible as a result?&lt;/p&gt;</comment>
                    <comment id="14141" author="andrewcoulton" created="Sun, 29 Aug 2010 06:29:06 +0000"  >&lt;p&gt;I&apos;ve been using and testing the modified version above locally for some time and it seems to work as expected. Any chance of this making it into core? Otherwise, the migrations feature is completely unusable when working YAML-YAML and using model prefixes on the newly released 1.2.3&lt;/p&gt;</comment>
                    <comment id="14144" author="jwage" created="Sun, 29 Aug 2010 12:22:54 +0000"  >&lt;p&gt;Has anyone been able to produce this in a test case?&lt;/p&gt;</comment>
                    <comment id="14182" author="andrewcoulton" created="Mon, 30 Aug 2010 18:16:35 +0000"  >&lt;p&gt;I&apos;ve attached a diff file with the DC755TestCase and the required from and to YAML schema files to reproduce this bug. I wasn&apos;t sure whether you prefer like this or as a git commit?&lt;/p&gt;</comment>
                    <comment id="14183" author="andrewcoulton" created="Mon, 30 Aug 2010 18:24:52 +0000"  >&lt;p&gt;Also attached a diff file of my proposed change to Doctrine_Migration_Diff to resolve this, but as I say unsure if it has implications on other migration types.&lt;/p&gt;</comment>
                    <comment id="14550" author="andrewcoulton" created="Sun, 10 Oct 2010 18:51:58 +0000"  >&lt;p&gt;Fixed by &lt;a href=&quot;http://github.com/acoulton/doctrine1/tree/DC-755&quot; class=&quot;external-link&quot;&gt;http://github.com/acoulton/doctrine1/tree/DC-755&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10752" name="dc755TestCase.diff" size="3114" author="andrewcoulton" created="Mon, 30 Aug 2010 18:16:35 +0000" />
                    <attachment id="10753" name="fix755.diff" size="642" author="andrewcoulton" created="Mon, 30 Aug 2010 18:24:52 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-747] Sequence name of build process is different to the one used in UnitOfWorks (based on DC521 with updated TestCase) </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-747</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I moved our project from doctrine 1.2.1 to 1.2.4. The build process stops because of this patch. We are using primary keys with an alias. It seems that the generation of the sequence name in the build-process is different to the one used in UnitOfWorks.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;Authority:&lt;br/&gt;
columns:&lt;br/&gt;
a_id: &lt;/p&gt;
{ name: a_id as id, type: integer, primary: true, autoincrement: true }
&lt;p&gt;name: &lt;/p&gt;
{ type: string }

&lt;p&gt;This will generate a sequence called &quot;authority_a_id&quot;, but it will try no &quot;currval&quot; the sequence &quot;authority_id&quot;.&lt;/p&gt;

&lt;p&gt;I&apos;ll try to provide a UnitTest. The current seems broken.&lt;/p&gt;

&lt;p&gt;php -l Ticket/DC521TestCase.php &lt;br/&gt;
PHP Parse error: syntax error, unexpected $end, expecting T_FUNCTION in Ticket/DC521TestCase.php on line 143&lt;/p&gt;

&lt;p&gt;Parse error: syntax error, unexpected $end, expecting T_FUNCTION in Ticket/DC521TestCase.php on line 143&lt;br/&gt;
Errors parsing Ticket/DC521TestCase.php&lt;/p&gt;</description>
                <environment>doctrine 1.2.4, symfony 1.4, snow leopard, php 5.3.1, postgresql 8.3</environment>
            <key id="11512">DC-747</key>
            <summary>Sequence name of build process is different to the one used in UnitOfWorks (based on DC521 with updated TestCase) </summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="enrico">Enrico Stahn</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Jun 2010 05:56:12 +0000</created>
                <updated>Thu, 17 Jun 2010 06:47:38 +0000</updated>
                                    <version>1.2.3</version>
                <version>1.2.4</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13351" author="enrico" created="Thu, 17 Jun 2010 06:25:45 +0000"  >&lt;p&gt;Here is the test updated with the current ticket number.&lt;/p&gt;</comment>
                    <comment id="13352" author="enrico" created="Thu, 17 Jun 2010 06:37:36 +0000"  >&lt;p&gt;Updated. Now it should work/not work as expected.&lt;/p&gt;</comment>
                    <comment id="13353" author="enrico" created="Thu, 17 Jun 2010 06:47:38 +0000"  >&lt;p&gt;This isn&apos;t a blocker anymore because of the workaround i&apos;ve found.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;remove autoincrement&lt;/li&gt;
	&lt;li&gt;add sequence name manually&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;Authority:&lt;br/&gt;
columns:&lt;br/&gt;
a_id: &lt;/p&gt;
{ name: a_id as id, type: integer, primary: true, sequence: authority_a_id }
&lt;p&gt;name: &lt;/p&gt;
{ type: string }</comment>
                </comments>
                    <attachments>
                    <attachment id="10665" name="DC747TestCase.php" size="2827" author="enrico" created="Thu, 17 Jun 2010 06:37:36 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-743] Incompatibilty between fixture import and accessors extends</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-743</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I had a problem when i try to import data with an extended accessors when i try to insert a content with a relation. I discovered this problem in symfony.&lt;/p&gt;

&lt;p&gt;For example, here is my table :&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
News:
  tableName: ne_news
  columns:
    id:           { type: integer(4), primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
    author_id:    { type: integer(4), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
    name:         { type: string(255) }
    description:  { type: text }
  relations:
    author: { class: sfGuardUser, onDelete: NULL, local: author_id, foreign: id, foreignAlias: sfGuardUser }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And the fixture :&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
SfGuardUser:
  sadmin:
    username:       admin
    password:       admin
    is_super_admin: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
  author1:
    username: myname
    
News:
  News1:
    name: Test 1
    description: Description of news 1
    author: author1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I import it with  symfony doctrine:data-load and it works.&lt;/p&gt;

&lt;p&gt;If i add a news.class.php and extends the autogenerated class it fails.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setAuthor($v)
    {
        &lt;span class=&quot;code-comment&quot;&gt;//__log(&apos;extending setter&apos;);
&lt;/span&gt;        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_set(&apos;author&apos;, $v);
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;WhenDoctrine_Data_Import finds the setAuthor function, it wont transform author1 in object so $v will be a string, not an sfGuardUser object. &lt;/p&gt;

&lt;p&gt;What do you think? Is a common behavior, how can i extends my accessor?&lt;/p&gt;</description>
                <environment>Window, PHP5, Symfony</environment>
            <key id="11508">DC-743</key>
            <summary>Incompatibilty between fixture import and accessors extends</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="bricef">Brice Favre</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Jun 2010 11:06:58 +0000</created>
                <updated>Fri, 22 Jul 2011 02:28:49 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Data Fixtures</component>
                <component>Import/Export</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="16190" author="ryan" created="Fri, 22 Jul 2011 02:28:49 +0000"  >&lt;p&gt;this is the same issue as &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-735&quot; class=&quot;external-link&quot;&gt;DC-735&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-735] Imported objects not converted to objects and parsed as string when a setter method exists</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-735</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If you set a setter method for a model which is for a relation the data import no longer works. This seems to be because in the _processRow method it checks if a method exists and then passes the default value rather than checking whether a relation exists first and passing the imported object. &lt;/p&gt;

&lt;p&gt;This effectively means you can&apos;t overload a setter method and still use the data import. &lt;/p&gt;</description>
                <environment>Mac OS X 10.6</environment>
            <key id="11492">DC-735</key>
            <summary>Imported objects not converted to objects and parsed as string when a setter method exists</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="kev">Kevin Dew</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Jun 2010 17:32:09 +0000</created>
                <updated>Fri, 22 Jul 2011 05:09:34 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="16191" author="ryan" created="Fri, 22 Jul 2011 05:09:34 +0000"  >&lt;p&gt;added testcase here&lt;br/&gt;
&lt;a href=&quot;https://github.com/rahx/doctrine1/commit/ba5628abaa5b3d60638d833d90b1cf439504d560&quot; class=&quot;external-link&quot;&gt;https://github.com/rahx/doctrine1/commit/ba5628abaa5b3d60638d833d90b1cf439504d560&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-725] Call record-&gt;get(&apos;RelationManyToManyName&apos;, FALSE) corrupt the record and generate a exception when calling  record-&gt;save()</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-725</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Imagine a simple case. Contact can have many categories.&lt;br/&gt;
Doing thoses calls:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$c = Doctrine::getTable(&apos;Contact&apos;)-&amp;gt;findOneById($id);
$c-&amp;gt;get(&apos;Categories&apos;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
$c-&amp;gt;save();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Generate the following error &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;PHP Fatal error:  Call to a member function save() on a non-object in /lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php on line 443
PHP Stack trace:
PHP   1. {main}() /test/doctrine/get_with_no_load_corrupt_many_to_many_assoc_.php:0
PHP   2. Doctrine_Record-&amp;gt;save() /test/doctrine/get_with_no_load_corrupt_many_to_many_assoc_.php:51
PHP   3. Doctrine_Connection_UnitOfWork-&amp;gt;saveGraph() /lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php:1705
PHP   4. Doctrine_Connection_UnitOfWork-&amp;gt;saveAssociations() /lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php:137
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment>PHP 5.3.1 (cli) (built: Feb 11 2010 02:32:22) &lt;br/&gt;
mysql Ver 14.14 Distrib 5.1.41, for apple-darwin9.5.0 (i386) using readline 5.1 &lt;br/&gt;
Doctrine version 1.2.2 from SVN: &lt;a href=&quot;http://doctrine.mirror.svn.symfony-project.com/tags/1.2.2/lib/Doctrine.php&quot;&gt;http://doctrine.mirror.svn.symfony-project.com/tags/1.2.2/lib/Doctrine.php&lt;/a&gt;</environment>
            <key id="11467">DC-725</key>
            <summary>Call record-&gt;get(&apos;RelationManyToManyName&apos;, FALSE) corrupt the record and generate a exception when calling  record-&gt;save()</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="jeanmonod">David Jeanmonod</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Jun 2010 07:50:57 +0000</created>
                <updated>Wed, 9 Jun 2010 07:55:21 +0000</updated>
                                    <version>1.2.1</version>
                <version>1.2.2</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="13249" author="jeanmonod" created="Wed, 9 Jun 2010 07:55:21 +0000"  >&lt;p&gt;Test case for the bug&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10635" name="get_with_no_load_corrupt_many_to_many_assoc_.php" size="1766" author="jeanmonod" created="Wed, 9 Jun 2010 07:55:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-934] One-to-one relationship with cascading deletion and softdelete creates empty records</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-934</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When using softdelete behaviour with cascading deletion on a one-to-one relationship, Doctrine will create a &apos;child&apos; record if it doesn&apos;t exist already, during the cascading deletion.  Eg:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Models Foo, Bar, both SoftDelete&lt;/li&gt;
	&lt;li&gt;Foo hasOne Bar&lt;/li&gt;
	&lt;li&gt;$myFoo-&amp;gt;delete()&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Result is:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;$myFoo-&amp;gt;deleted_at is set correctly as expected&lt;/li&gt;
	&lt;li&gt;New Bar record is created &amp;amp; saved in the process (but is not set to deleted)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Is this expected behaviour? I&apos;ve attached a test case script, tested against export from SVN of Doctrine 1.2.3 that demonstrates this.&lt;/p&gt;</description>
                <environment>Ubuntu 10.10, PHP 5.3.3</environment>
            <key id="12131">DC-934</key>
            <summary>One-to-one relationship with cascading deletion and softdelete creates empty records</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="richsage">Rich Sage</reporter>
                        <labels>
                    </labels>
                <created>Sun, 21 Nov 2010 11:46:56 +0000</created>
                <updated>Tue, 29 Nov 2011 13:48:49 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16927" author="marltu" created="Tue, 29 Nov 2011 13:48:49 +0000"  >&lt;p&gt;I can confirm this issue on Ubuntu 11.10 PHP 5.3.6-13ubuntu3.2 &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10872" name="testcase.php" size="2233" author="richsage" created="Sun, 21 Nov 2010 11:46:56 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-936] json schema import broken</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-936</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;With a valid Json file :&lt;br/&gt;
PHP Warning:  explode() expects parameter 2 to be string, object given in Doctrine/Doctrine/Import/Schema.php on line 381&lt;br/&gt;
PHP Catchable fatal error:  Object of class stdClass could not be converted to string in Doctrine/Doctrine/Import/Schema.php on line 391&lt;/p&gt;

&lt;p&gt;It&apos;s due to this line, line, in Doctrine/Parser/Json.php (#65) :&lt;br/&gt;
$json = json_decode($contents);&lt;/p&gt;

&lt;p&gt;It should be:&lt;br/&gt;
$json = json_decode($contents, true);&lt;/p&gt;

&lt;p&gt;Because casting the result as array will only affect the top-level element. You must use the second parameter of json_decode() to force every objects (including sub-objects) to be converted to indexed arrays.&lt;/p&gt;</description>
                <environment>PHP 5.3.3-1ubuntu9.1</environment>
            <key id="12135">DC-936</key>
            <summary>json schema import broken</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="arcanis">Mael Nison</reporter>
                        <labels>
                    </labels>
                <created>Mon, 22 Nov 2010 09:18:25 +0000</created>
                <updated>Wed, 22 Dec 2010 11:49:56 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>File Parser</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14801" author="arcanis" created="Mon, 22 Nov 2010 09:23:21 +0000"  >&lt;p&gt;A try to import this file should fail.&lt;/p&gt;</comment>
                    <comment id="14995" author="fentie" created="Wed, 22 Dec 2010 11:49:56 +0000"  >&lt;p&gt;I&apos;ve submitted a pull request w/patch and unit test for this issue using the fix above. I had the same problem in my code on OS X 10.6.4, PHP 5.3.2&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10876" name="foobar.schema.json" size="345" author="arcanis" created="Mon, 22 Nov 2010 09:23:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-935] Doctrine_Task_BuildAllReload does not call generate-models-from-yaml</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-935</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine_Task_BuildAllReload never calls generate models-from-yaml. This does not coincide with the logic of Doctrine_Task_BuildAll and Doctrine_Task_BuildAllLoad.&lt;/p&gt;

&lt;p&gt;BuildAllReload suggests that it will be building all (everything) and then reloading the database.&lt;br/&gt;
But instead it only rebuilds the database and loads data&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;Doctrine 1.2.3 - BuildAllReload.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __construct($dispatcher = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)
    {
        parent::__construct($dispatcher);

        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;rebuildDb = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Task_RebuildDb($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dispatcher);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;loadData = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Task_LoadData($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dispatcher);
        
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;requiredArguments = array_merge($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;requiredArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;rebuildDb-&amp;gt;requiredArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;loadData-&amp;gt;requiredArguments);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;optionalArguments = array_merge($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;optionalArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;rebuildDb-&amp;gt;optionalArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;loadData-&amp;gt;optionalArguments);
    }
    
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function execute()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;rebuildDb-&amp;gt;setArguments($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getArguments());
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;rebuildDb-&amp;gt;execute();
        
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;loadData-&amp;gt;setArguments($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getArguments());
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;loadData-&amp;gt;execute();
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Instead, I think it would be more efficient and understanding to follow the same logic as build-all and build-all-load by calling drop-db and build-all-load.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;Proposed - BuildAllReload.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __construct($dispatcher = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)
    {
        parent::__construct($dispatcher);

        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dropDb = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Task_DropDb($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dispatcher);
        
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildAllLoad = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Task_BuildAllLoad($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dispatcher);
        
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;requiredArguments = array_merge($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;requiredArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dropDb-&amp;gt;requiredArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildAllLoad-&amp;gt;requiredArguments);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;optionalArguments = array_merge($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;optionalArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dropDb-&amp;gt;optionalArguments, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildAllLoad-&amp;gt;optionalArguments);
    }
    
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function execute()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dropDb-&amp;gt;setArguments($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getArguments());
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dropDb-&amp;gt;execute();
        
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildAllLoad-&amp;gt;setArguments($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getArguments());
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;buildAllLoad-&amp;gt;execute();
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;I attached a patch with the above changes... I got a little lost in the test area for Doctrine_CLI, so that is not included = )&lt;/p&gt;</description>
                <environment>Windows Vista 32bit, Apache 2.2.14, PHP 5.3.1</environment>
            <key id="12133">DC-935</key>
            <summary>Doctrine_Task_BuildAllReload does not call generate-models-from-yaml</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="brandonevans">Brandon Evans</reporter>
                        <labels>
                    </labels>
                <created>Sun, 21 Nov 2010 20:56:31 +0000</created>
                <updated>Sun, 21 Nov 2010 21:35:56 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Cli</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14797" author="brandonevans" created="Sun, 21 Nov 2010 21:31:14 +0000"  >&lt;p&gt;Added the proper proposed code this time and also attached patch with better naming.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10874" name="DC-935.patch" size="2461" author="brandonevans" created="Sun, 21 Nov 2010 21:31:14 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-931] Newly generated Migration Classes failing to load due to method used to determine class name</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-931</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The loadMigrationClassesFromDirectory() method in Doctrine_Migration uses array_diff on get_declared_classes() between including each classes script.&lt;/p&gt;

&lt;p&gt;When a new migration class is generated by Doctrine_Core::generateMigrationsFromDiff it&apos;s class is loaded, which means loadMigrationClassesFromDirectory silently fails to load the newly generated migration on the same request. This means that scripts that first generate migrations and then apply them must be executed twice - first to generate then to apply.&lt;/p&gt;

&lt;p&gt;The following example code is used to check if the database has been modifed, generate migrations between the base version and the latest models, and then migrate the database if needed:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;automigrate.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Doctrine_Core::generateYamlFromModels(ROOT_PATH.&apos;tmp/yaml/&apos;, ROOT_PATH.&apos;models/&apos;);
$result = Doctrine_Core::generateMigrationsFromDiff(ROOT_PATH.&apos;tmp/migrations/&apos;, ROOT_PATH.&apos;data/yaml/&apos;, ROOT_PATH.&apos;tmp/yaml/&apos;);

unlink(ROOT_PATH.&apos;data/yaml/schema.yml&apos;);
rename(ROOT_PATH.&apos;tmp/yaml/schema.yml&apos;, ROOT_PATH.&apos;data/yaml/schema.yml&apos;);

$migration = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Migration(ROOT_PATH.&apos;tmp/migrations&apos;);

$currentVersion = $migration-&amp;gt;getCurrentVersion();
$latestVersion = $migration-&amp;gt;getLatestVersion();
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($currentVersion &amp;lt; $latestVersion) {
	$migration-&amp;gt;migrate();
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;app-&amp;gt;addMessage(&lt;span class=&quot;code-quote&quot;&gt;&quot;Database migration completed (from version $currentVersion to version $latestVersion)&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;success&quot;&lt;/span&gt;);
} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;app-&amp;gt;addMessage(&lt;span class=&quot;code-quote&quot;&gt;&quot;Database is up to date and doesn&apos;t require migration (at version $currentVersion)&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;success&quot;&lt;/span&gt;);
}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>LAMP</environment>
            <key id="12124">DC-931</key>
            <summary>Newly generated Migration Classes failing to load due to method used to determine class name</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ppanther">Adam Benson</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Nov 2010 02:04:00 +0000</created>
                <updated>Fri, 19 Nov 2010 02:04:00 +0000</updated>
                                    <version>1.2.0-ALPHA1</version>
                <version>1.2.0-ALPHA2</version>
                <version>1.2.0-ALPHA3</version>
                <version>1.2.0-BETA1</version>
                <version>1.2.0-BETA2</version>
                <version>1.2.0-BETA3</version>
                <version>1.2.0-RC1</version>
                <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-929] createIndexSql and dropIndexSql don&apos;t use the same logic to get the index name</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-929</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In the class Doctrine_Export the functions for creating and dropping indexes do not use the same logic to get the name of the index to be created or dropped.&lt;br/&gt;
When creating an index $this-&amp;gt;conn-&amp;gt;quoteIdentifier() is called on the index name. &lt;br/&gt;
When dropping an index $this-&amp;gt;conn-&amp;gt;quoteIdentifier($this-&amp;gt;conn-&amp;gt;formatter-&amp;gt;getIndexName()) is called on the name, which by default adds &apos;_idx&apos; to the index name. Hence, when an index should be dropped in a migration an index with that name is not found because it was created without the &apos;_idx&apos;.&lt;/p&gt;</description>
                <environment>Postgresql 8.4, Symfony 1.4, Doctrine 1.2</environment>
            <key id="12111">DC-929</key>
            <summary>createIndexSql and dropIndexSql don&apos;t use the same logic to get the index name</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="lea">Lea Haensenberger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Nov 2010 07:57:07 +0000</created>
                <updated>Wed, 7 Sep 2011 19:04:23 +0000</updated>
                                                                    <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14754" author="lsmith" created="Tue, 16 Nov 2010 08:04:21 +0000"  >&lt;p&gt;looks to me like this is a bug in index creation. then again fixing the bug will lead to potential BC issues. that being said, anyone affected could &quot;simply&quot; set the index format to empty. also &quot;fixing&quot; the names to the proper format does not require shuffeling around data. so imho the right fix would be to apply the drop naming logic in the create logic.&lt;/p&gt;

&lt;p&gt;what surprises me is that the main reason for appending _idx by default was that many RDBMS will otherwise break because they do not separate identifiers between constraints and indexes etc and therefore people run into collisions without the postfix.&lt;/p&gt;</comment>
                    <comment id="16450" author="johnkary" created="Wed, 7 Sep 2011 19:04:23 +0000"  >&lt;p&gt;Related/Duplicate of &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-830&quot; title=&quot;Migration for up() not adding suffix for index&quot;&gt;DC-830&lt;/a&gt; and &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-867&quot; title=&quot;Doctrine::ATTR_IDXNAME_FORMAT and Doctrine::ATTR_FKNAME_FORMAT are inconsistently applied during migrations&quot;&gt;DC-867&lt;/a&gt;.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-928] [Migrations] Drop not null is not working in Postgres</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-928</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When removing the not null from a column the migration does not change anything in the database. This is due to the following check on line 162 of lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Export/Pgsql.php&lt;br/&gt;
if ( ! empty($field&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;definition&amp;#39;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;notnull&amp;#39;&amp;#93;&lt;/span&gt;))&lt;/p&gt;

&lt;p&gt;So if notnull is not there or set to false or &apos;0&apos; or 0 the code does not enter into that if statement and therefore no changes are done to the not null value of the column.&lt;/p&gt;</description>
                <environment>Postgresql 8.4, Symfony 1.4, Doctrine 1.2</environment>
            <key id="12110">DC-928</key>
            <summary>[Migrations] Drop not null is not working in Postgres</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="lea">Lea Haensenberger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Nov 2010 07:56:22 +0000</created>
                <updated>Tue, 16 Nov 2010 11:44:46 +0000</updated>
                                                                    <component>Migrations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14755" author="lsmith" created="Tue, 16 Nov 2010 08:05:03 +0000"  >&lt;p&gt;@Lea: can you write up a patch for this? would also be nice if you could check if the same issue affects other drivers.&lt;/p&gt;</comment>
                    <comment id="14756" author="lea" created="Tue, 16 Nov 2010 11:44:21 +0000"  >&lt;p&gt;Here is a patch (attachment). The generate-migrations-diff Task in Symfony sets &apos;notnull&apos; to an empty string if it&apos;s false in the schema.yml, therefore the check for empty string.&lt;/p&gt;

&lt;p&gt;I had a quick look at the classes for other DBs, but that seems to be a postgres only issue.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10861" name="dropNotNullPatch.patch" size="1119" author="lea" created="Tue, 16 Nov 2010 11:44:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-921] The ability to add WITH ROLLUP to a group by in a query</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-921</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I figured it would be handy to have a WITH ROLLUP be add able to the group by clause.&lt;/p&gt;

&lt;p&gt;I added this feature but I can&apos;t post the patch because my patches are starting to run together - the syntax with in the generated patch would also contain parts of other patches I have posted to jira but have not yet been included in the doctrine svn.&lt;/p&gt;

&lt;p&gt;I still wanted to make this post because it will give me a ticket number to base my test cases around.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</description>
                <environment>XP XAMP</environment>
            <key id="12084">DC-921</key>
            <summary>The ability to add WITH ROLLUP to a group by in a query</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="willf1976">will ferrer</reporter>
                        <labels>
                    </labels>
                <created>Tue, 9 Nov 2010 04:04:29 +0000</created>
                <updated>Thu, 18 Nov 2010 03:19:47 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14699" author="willf1976" created="Tue, 9 Nov 2010 22:29:28 +0000"  >&lt;p&gt;In order to illustrate what this patch fixes I am posting my test case for the patch below&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&amp;lt;?php
/*
 *  $Id$
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * &lt;span class=&quot;code-quote&quot;&gt;&quot;AS IS&quot;&lt;/span&gt; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * This software consists of voluntary contributions made by many individuals
 * and is licensed under the LGPL. For more information, see
 * &amp;lt;http:&lt;span class=&quot;code-comment&quot;&gt;//www.doctrine-project.org&amp;gt;.
&lt;/span&gt; */

/**
 * Doctrine_Ticket_DC921_TestCase
 *
 * @&lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;     Doctrine
 * @author      Will Ferrer
 * @license     http:&lt;span class=&quot;code-comment&quot;&gt;//www.opensource.org/licenses/lgpl-license.php LGPL
&lt;/span&gt; * @category    &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; Relational Mapping
 * @link        www.doctrine-project.org
 * @since       1.0
 * @version     $Revision$
 */
class Doctrine_Ticket_DC921_TestCase &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_UnitTestCase 
{
  
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function testAggregateValueMappingSupportsLeftJoinsWithRollUp()
    {
        $q = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Query();

        $q-&amp;gt;select(&apos;MAX(u.name), u.*, p.*&apos;)-&amp;gt;from(&apos;User u&apos;)-&amp;gt;leftJoin(&apos;u.Phonenumber p&apos;)-&amp;gt;groupby(&apos;u.id&apos;);
		$q-&amp;gt;setWithRollUp(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($q-&amp;gt;getSqlQuery(), &apos;SELECT e.id AS e__id, e.name AS e__name, e.loginname AS e__loginname, e.password AS e__password, e.type AS e__type, e.created AS e__created, e.updated AS e__updated, e.email_id AS e__email_id, p.id AS p__id, p.phonenumber AS p__phonenumber, p.entity_id AS p__entity_id, MAX(e.name) AS e__0 FROM entity e LEFT JOIN phonenumber p ON e.id = p.entity_id WHERE (e.type = 0) GROUP BY e.id WITH ROLLUP&apos;);
    }

}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14773" author="willf1976" created="Thu, 18 Nov 2010 03:19:47 +0000"  >&lt;p&gt;I have updated my implemenation of this feature. Here is the new test case:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&amp;lt;?php
/*
 *  $Id$
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * &lt;span class=&quot;code-quote&quot;&gt;&quot;AS IS&quot;&lt;/span&gt; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * This software consists of voluntary contributions made by many individuals
 * and is licensed under the LGPL. For more information, see
 * &amp;lt;http:&lt;span class=&quot;code-comment&quot;&gt;//www.doctrine-project.org&amp;gt;.
&lt;/span&gt; */

/**
 * Doctrine_Ticket_DC921_TestCase
 *
 * @&lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;     Doctrine
 * @author      Will Ferrer
 * @license     http:&lt;span class=&quot;code-comment&quot;&gt;//www.opensource.org/licenses/lgpl-license.php LGPL
&lt;/span&gt; * @category    &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; Relational Mapping
 * @link        www.doctrine-project.org
 * @since       1.0
 * @version     $Revision$
 */
class Doctrine_Ticket_DC921_TestCase &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_UnitTestCase 
{
  
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function testAggregateValueMappingSupportsLeftJoinsWithRollUp()
    {
        $q = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Query();

        $q-&amp;gt;select(&apos;MAX(u.name), u.*, p.*&apos;)-&amp;gt;from(&apos;User u&apos;)-&amp;gt;leftJoin(&apos;u.Phonenumber p&apos;)-&amp;gt;groupby(&apos;u.id&apos;);
		$q-&amp;gt;withRollUp();
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($q-&amp;gt;getSqlQuery(), &apos;SELECT e.id AS e__id, e.name AS e__name, e.loginname AS e__loginname, e.password AS e__password, e.type AS e__type, e.created AS e__created, e.updated AS e__updated, e.email_id AS e__email_id, p.id AS p__id, p.phonenumber AS p__phonenumber, p.entity_id AS p__entity_id, MAX(e.name) AS e__0 FROM entity e LEFT JOIN phonenumber p ON e.id = p.entity_id WHERE (e.type = 0) GROUP BY e.id WITH ROLLUP&apos;);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($q-&amp;gt;getDql(), &apos;SELECT MAX(u.name), u.*, p.* FROM User u LEFT JOIN u.Phonenumber p GROUP BY u.id WITH ROLLUP&apos;);
    }
	
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function testAggregateValueMappingSupportsLeftJoinsWithRollUpDql()
    {
        $q = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Query();
        $q-&amp;gt;parseDqlQuery(&lt;span class=&quot;code-quote&quot;&gt;&quot;SELECT MAX(u.name), u.*, p.* FROM User u LEFT JOIN u.Phonenumber p GROUP BY u.id WITH ROLLUP&quot;&lt;/span&gt;);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($q-&amp;gt;getSqlQuery(), &apos;SELECT e.id AS e__id, e.name AS e__name, e.loginname AS e__loginname, e.password AS e__password, e.type AS e__type, e.created AS e__created, e.updated AS e__updated, e.email_id AS e__email_id, p.id AS p__id, p.phonenumber AS p__phonenumber, p.entity_id AS p__entity_id, MAX(e.name) AS e__0 FROM entity e LEFT JOIN phonenumber p ON e.id = p.entity_id WHERE (e.type = 0) GROUP BY e.id WITH ROLLUP&apos;);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($q-&amp;gt;getDql(), &apos;SELECT MAX(u.name), u.*, p.* FROM User u LEFT JOIN u.Phonenumber p GROUP BY u.id WITH ROLLUP&apos;);
    }
	
	


}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-919] Import/Pgsql.php: listTableColumns - SQL failure with PostgreSQL</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-919</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;this issue was reported at the symfony project which uses Doctrine 1.2.3: &lt;br/&gt;
&lt;a href=&quot;http://trac.symfony-project.org/ticket/9152&quot; class=&quot;external-link&quot;&gt;http://trac.symfony-project.org/ticket/9152&lt;/a&gt;&lt;br/&gt;
&quot;php symfony doctrine:build-schema failure with PostgreSQL for 1.4.7 and 1.4.8 version&quot;&lt;/p&gt;

&lt;p&gt;The SQL Statement &apos;listTableColumns&apos; fails with an SQL-Error &quot;missing from-clause&quot;&lt;br/&gt;
&lt;a href=&quot;http://trac.doctrine-project.org/browser/tags/1.2.3/lib/Doctrine/Import/Pgsql.php#L96&quot; class=&quot;external-link&quot;&gt;http://trac.doctrine-project.org/browser/tags/1.2.3/lib/Doctrine/Import/Pgsql.php#L96&lt;/a&gt;&lt;br/&gt;
I can reproduce the error directly in psql or pgadmin. The SQL Statement seems related to &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-697&quot; title=&quot;Doctrine Support of custom enum types in Pgsql&quot;&gt;&lt;del&gt;DC-697&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even when i turn on the add_missing_from option on the postgres-server it fails with &quot;missing relation&quot;.&lt;/p&gt;

&lt;p&gt;Now it seems to me, you already fixed this bug in the current 1.2 branch, because the current SQL-Statement is different and it works for me in psql/pgadmin.&lt;br/&gt;
&lt;a href=&quot;http://trac.doctrine-project.org/browser/branches/1.2/lib/Doctrine/Import/Pgsql.php#L96&quot; class=&quot;external-link&quot;&gt;http://trac.doctrine-project.org/browser/branches/1.2/lib/Doctrine/Import/Pgsql.php#L96&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Could you please close this ticket, if you already fixed this issue, or confirm if it&apos;s still an issue?&lt;br/&gt;
Attached you find my proposed patch at the symfony project . the current statement in the branch looks too different from my version, so i am not sure to use this patch directly. Tell me if I should work out a proper patch.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;error&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SQLSTATE[42P01]: Undefined table: 7 ERROR:  missing FROM-clause entry &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; table &lt;span class=&quot;code-quote&quot;&gt;&quot;t&quot;&lt;/span&gt;                                               
 	  LINE 6: ...                                                  t.typtype ...                                                       
 	                                                               ^. Failing Query: &quot;SELECT                                           
 	                                                       ordinal_position as attnum,                                                 
 	                                                       column_name as field,                                                       
 	                                                       udt_name as type,                                                           
 	                                                       data_type as complete_type,                                                 
 	                                                       t.typtype AS typtype,                                                       
 	                                                       is_nullable as isnotnull,                                                   
 	                                                       column_default as &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;,                                                   
 	                                                       (                                                                           
 	                                                         SELECT &apos;t&apos;                                                                 
 	                                                           FROM pg_index, pg_attribute a, pg_class c, pg_type t                     
 	                                                           WHERE c.relname = table_name AND a.attname = column_name                 
 	                                                           AND a.attnum &amp;gt; 0 AND a.attrelid = c.oid AND a.atttypid = t.oid           
 	                                                           AND c.oid = pg_index.indrelid AND a.attnum = ANY (pg_index.indkey)       
 	                                                           AND pg_index.indisprimary = &apos;t&apos;                                         
 	                                                           AND format_type(a.atttypid, a.atttypmod) NOT LIKE &apos;information_schema%&apos; 
 	                                                       ) as pri,                                                                   
 	                                                       character_maximum_length as length                                           
 	                                                     FROM information_schema.COLUMNS                                               
 	                                                     WHERE table_name = &apos;matable&apos;                                   
 	                                                     ORDER BY ordinal_position&quot;  
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Postgres Import Schema&lt;br/&gt;
</environment>
            <key id="12075">DC-919</key>
            <summary>Import/Pgsql.php: listTableColumns - SQL failure with PostgreSQL</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="christian_vogel">Christian Vogel</reporter>
                        <labels>
                    </labels>
                <created>Sun, 7 Nov 2010 04:49:56 +0000</created>
                <updated>Mon, 9 Apr 2012 14:17:24 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>4</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="14691" author="nahuelon" created="Tue, 9 Nov 2010 10:43:50 +0000"  >&lt;p&gt;We apply the diff patch you submit and works perfect. We are using Doctrine 1.2.3 with PostgreSQL 8.4.&lt;br/&gt;
We could generates models from database with generateModelsFromDb() method.&lt;br/&gt;
Please add this patch to a new release.&lt;br/&gt;
Thank you very much.&lt;/p&gt;</comment>
                    <comment id="14803" author="tim.hemming@spgroup.co.uk" created="Tue, 23 Nov 2010 07:15:21 +0000"  >&lt;p&gt;We have applied this patch directly to our server-wide Doctrine library and it works fine. We look forward to it becoming a part of the Doctrine distribution.&lt;/p&gt;</comment>
                    <comment id="14981" author="chotchki" created="Sun, 19 Dec 2010 01:56:38 +0000"  >&lt;p&gt;I can confirm that this bug also affects symfony 1.4.8 and the attached fix works perfectly!&lt;/p&gt;</comment>
                    <comment id="15361" author="dla" created="Mon, 21 Feb 2011 06:51:30 +0000"  >&lt;p&gt;Confirmed to fix crash with symfony 1.3.8&lt;/p&gt;</comment>
                    <comment id="17833" author="koyot" created="Mon, 9 Apr 2012 14:17:24 +0000"  >&lt;p&gt;I use the version 1.4.17 and also had the error with postgres 9.1. Applying the correction suggested in DIFF. The system worked.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10847" name="trac_9152_patch_for_Pgsql.php.diff" size="5112" author="christian_vogel" created="Sun, 7 Nov 2010 04:49:56 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-917] Doctrine take wrong connction</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-917</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have problems with different connection&lt;br/&gt;
i am using doctrine with symfony, and i work with 2 connections&lt;br/&gt;
in base class i have bind to my connection&lt;/p&gt;

&lt;p&gt;Doctrine_Manager::getInstance()-&amp;gt;bindComponent(&apos;Datasource&apos;, &apos;doctrine&apos;);&lt;/p&gt;

&lt;p&gt;symfony generate me &lt;/p&gt;

&lt;p&gt;$this-&amp;gt;datasources = Doctrine_Core::getTable(&apos;datasource&apos;)&lt;br/&gt;
                -&amp;gt;createQuery(&apos;a&apos;)&lt;br/&gt;
                -&amp;gt;execute();&lt;/p&gt;

&lt;p&gt;and when i execute it show me error error that can find this table but it take wrong connection&lt;/p&gt;

&lt;p&gt;by test i tried to add bind component as datasource (first is lower character and it works pretty cool)&lt;/p&gt;

&lt;p&gt;then i change getTable(&apos;datasource&apos;) =&amp;gt; getTable(&apos;Datasource&apos;) but it doesn&apos;t work&lt;br/&gt;
then i have added &lt;br/&gt;
test function to my datasource table &lt;/p&gt;

&lt;p&gt;public static function test()&lt;/p&gt;
{
        return Doctrine_Query::create()-&amp;gt;from(&quot;Datasource&quot;)-&amp;gt;execute();
    }

&lt;p&gt;and it works.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12066">DC-917</key>
            <summary>Doctrine take wrong connction</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vovikdrg">Volodymyr</reporter>
                        <labels>
                    </labels>
                <created>Fri, 5 Nov 2010 04:45:12 +0000</created>
                <updated>Fri, 5 Nov 2010 04:45:12 +0000</updated>
                                                                    <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-968] I18n and PostgreSQL and DmVersionable</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-968</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I am using PHP 5.3.2 and PostgreSQL 8.4.5, Diem passed all checks in green - OK.&lt;/p&gt;

&lt;p&gt;I started with &quot;A week of Diem Ipsum&quot; and all went ok until I reached building of blog engine. Blog engine example fails in step: &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;php symfony doctrine:migrate&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;with error message:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;The following errors occurred:

    * SQLSTATE[42830]: Invalid foreign key: 7 ERROR: there is no unique constraint matching given keys &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; referenced table &lt;span class=&quot;code-quote&quot;&gt;&quot;article_translation&quot;&lt;/span&gt;. Failing Query: &lt;span class=&quot;code-quote&quot;&gt;&quot;ALTER TABLE article_translation_version ADD CONSTRAINT article_translation_version_id_article_translation_id FOREIGN KEY (id) REFERENCES article_translation(id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE&quot;&lt;/span&gt;
    * SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block. Failing Query: &lt;span class=&quot;code-quote&quot;&gt;&quot;CREATE INDEX article_image ON article (image)&quot;&lt;/span&gt;
    * SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block. Failing Query: &lt;span class=&quot;code-quote&quot;&gt;&quot;CREATE INDEX article_author ON article (author)&quot;&lt;/span&gt;
    * SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block. Failing Query: &lt;span class=&quot;code-quote&quot;&gt;&quot;CREATE INDEX article_translation_id ON article_translation (id)&quot;&lt;/span&gt;
    * SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block. Failing Query: &lt;span class=&quot;code-quote&quot;&gt;&quot;CREATE INDEX article_translation_version_id ON article_translation_version (id)&quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I removed i18n support in blog engine example and after that migrate went ok. But in Admin interface when I wanted to add&lt;br/&gt;
blog article, although Diem confirmed it saved article, article would not show up in the list, I checked db table, it was empty also.&lt;br/&gt;
Further, if I try to loremize, for 1 fixture I get no error but table is again empty, and for more fixtures then 1, Diem reports error:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Again I reviewed the model and removed DmVersionable, migrated again and after that I could loremize or create articles without errors.&lt;/p&gt;

&lt;p&gt;Additionally, not related directly to this blog engine example but doctrine related, I noticed errors in Diem Admin interface&lt;br/&gt;
itself when I try to access System-&amp;gt;Configuration-&amp;gt;Settings . If I access System settings over link &lt;br/&gt;
admin_dev.php/system/configuration/settings/index it shows settings. But when I click on &lt;br/&gt;
dmin_dev.php/system/configuration in menu path and after again to settings &lt;br/&gt;
admin_dev.php/system/configuration/settings/index, error is generated:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;500 | Internal Server Error | Doctrine_Connection_Pgsql_Exception
SQLSTATE[08P01]: &amp;lt;&amp;gt;: 7 ERROR: bind message supplies 1 parameters, but prepared statement &lt;span class=&quot;code-quote&quot;&gt;&quot;pdo_stmt_00000008&quot;&lt;/span&gt; requires 2&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;Are this bugs corrected?&lt;/p&gt;


</description>
                <environment>PHP 5.3.2, PostgreSQL 8.4.5, Diem 5.1.x</environment>
            <key id="12061">DC-968</key>
            <summary>I18n and PostgreSQL and DmVersionable</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sasha">Sasha</reporter>
                        <labels>
                    </labels>
                <created>Wed, 3 Nov 2010 04:39:37 +0000</created>
                <updated>Tue, 15 Feb 2011 15:39:12 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-912] A method that can run in a model when the model is autoloaded</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-912</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;For my project I needed to be able to reassign connections to models when they are autoloaded &amp;#8211; this had to be able to happen during a conservative model loading process before the models had been instantiated. My solution was to build in a hook to a &quot;autoloadSetUp&quot; method which can be attached to any model (or class that is the base for a model).&lt;/p&gt;

&lt;p&gt;I will post my patch after I make a test case for it.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</description>
                <environment>XP Xamp</environment>
            <key id="12055">DC-912</key>
            <summary>A method that can run in a model when the model is autoloaded</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="willf1976">will ferrer</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Nov 2010 20:32:14 +0000</created>
                <updated>Tue, 9 Nov 2010 19:20:06 +0000</updated>
                                                                    <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14661" author="willf1976" created="Tue, 2 Nov 2010 20:27:31 +0000"  >&lt;p&gt;made test case use a static method&lt;/p&gt;</comment>
                    <comment id="14697" author="willf1976" created="Tue, 9 Nov 2010 19:20:06 +0000"  >&lt;p&gt;fixed some compatibility issues with the test case and other test cases&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10855" name="DC_912_fix.patch" size="4403" author="willf1976" created="Tue, 9 Nov 2010 19:20:06 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-911] A way of checking if a model has been loaded via the loaded loadModels method</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-911</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I needed a way to check if a model has been loaded &amp;#8212; checking to see if the model was included in the _loadedModelFiles property of core.&lt;/p&gt;

&lt;p&gt;I put in a simple function that allows me to test for this.&lt;/p&gt;

&lt;p&gt;I will post the patch after building a test case for this ticket.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</description>
                <environment>XP Xamp</environment>
            <key id="12054">DC-911</key>
            <summary>A way of checking if a model has been loaded via the loaded loadModels method</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="willf1976">will ferrer</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Nov 2010 20:17:39 +0000</created>
                <updated>Tue, 2 Nov 2010 20:23:12 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14660" author="willf1976" created="Tue, 2 Nov 2010 20:18:33 +0000"  >&lt;p&gt;Changed the name of the method to modelLoaded (seemed more appropriate)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10844" name="DC_911_fix.patch" size="2676" author="willf1976" created="Tue, 2 Nov 2010 20:23:12 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-908] Can&apos;t save Doctrine Expression AES_ENCRYPT into a utf8_general_ci field</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-908</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;$membre = new Model_TMembre();&lt;br/&gt;
$membre-&amp;gt;password = new Doctrine_Expression(&quot;AES_ENCRYPT(\&quot;&quot;.htmlspecialchars($password,ENT_QUOTES).&quot;\&quot;,\&quot;&quot;._MYSQL_CRYPT.&quot;\&quot;)&quot;);&lt;br/&gt;
$membre-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;Doesn&apos;t works id password field is encoded into utf8_general_ci .&lt;/p&gt;

&lt;p&gt;Works fine id password field is encoded into latin1 .&lt;/p&gt;</description>
                <environment>Win XP</environment>
            <key id="12047">DC-908</key>
            <summary>Can&apos;t save Doctrine Expression AES_ENCRYPT into a utf8_general_ci field</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dquintard">dquintard</reporter>
                        <labels>
                    </labels>
                <created>Sun, 31 Oct 2010 08:36:36 +0000</created>
                <updated>Sun, 31 Oct 2010 08:36:36 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-903] Make Doctrine_Record_UnknownPropertyException error more descriptive</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-903</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If I have a Doctrine object and I try something like $book-&amp;gt;getNonexistantThing(), I always get an error like this:&lt;br/&gt;
PHP Fatal error:  Class &apos;Doctrine_Record_UnknownPropertyException&apos; not found in /home/jason/projects/mcif/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record/Filter/Standard.php on line 55&lt;/p&gt;

&lt;p&gt;It makes it hard to track down the source of the error. Why not have the error include the offending method call?&lt;/p&gt;</description>
                <environment>Ubuntu 10.10</environment>
            <key id="12040">DC-903</key>
            <summary>Make Doctrine_Record_UnknownPropertyException error more descriptive</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jasonswett">Jason Swett</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 Oct 2010 14:46:49 +0000</created>
                <updated>Thu, 28 Oct 2010 14:46:49 +0000</updated>
                                                                    <component>Attributes</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-904] Doctrine_Query (execute / fetchOne) memory leak</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-904</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I&apos;ve created new symfony 1.4.8 project:&lt;/p&gt;

&lt;p&gt;$ ./symfony -V&lt;br/&gt;
symfony version 1.4.8 (/home/marcin.dryka/htdocs/leak/lib/vendor/symfony/lib)&lt;/p&gt;

&lt;p&gt;$ php -v&lt;br/&gt;
PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:41:55) &lt;br/&gt;
Copyright (c) 1997-2009 The PHP Group&lt;br/&gt;
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies&lt;br/&gt;
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans&lt;/p&gt;

&lt;p&gt;and set the database schema as follows:&lt;/p&gt;

&lt;p&gt;$ cat config/doctrine/schema.yml &lt;br/&gt;
Example:&lt;br/&gt;
  columns:&lt;br/&gt;
    col1: string(255)&lt;br/&gt;
    col2: string(255)&lt;br/&gt;
    col3: string(255)&lt;br/&gt;
    col4: string(255)&lt;br/&gt;
    col5: string(255)&lt;br/&gt;
    col6: string(255)&lt;/p&gt;

&lt;p&gt;I created a task that contains a Doctrine_query call &lt;/p&gt;

&lt;p&gt;(...)&lt;br/&gt;
protected function execute($arguments = array(), $options = array())&lt;br/&gt;
{&lt;br/&gt;
  // initialize the database connection&lt;br/&gt;
  $databaseManager = new sfDatabaseManager($this-&amp;gt;configuration);&lt;br/&gt;
  $connection = $databaseManager-&amp;gt;getDatabase($options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;connection&amp;#39;&amp;#93;&lt;/span&gt;)-&amp;gt;getConnection();&lt;/p&gt;

&lt;p&gt;  while(1)&lt;br/&gt;
  {&lt;br/&gt;
    $m = xdebug_memory_usage();&lt;br/&gt;
    $q = Doctrine_Query::create()&lt;br/&gt;
      -&amp;gt;from(&apos;Example&apos;);&lt;br/&gt;
    $o = $q-&amp;gt;fetchOne();&lt;/p&gt;

&lt;p&gt;    if (false !== $o))&lt;/p&gt;
    {
      $o-&amp;gt;free(true);
    }
&lt;p&gt;    unset($q, $o);&lt;/p&gt;

&lt;p&gt;    printf(&quot;Delta: %s Value: %s\n&quot;, &lt;br/&gt;
        xdebug_memory_usage()-$m,&lt;br/&gt;
        xdebug_memory_usage()&lt;br/&gt;
    );&lt;br/&gt;
  }&lt;br/&gt;
}&lt;br/&gt;
(...)&lt;/p&gt;

&lt;p&gt;Unfortunately, memory usage is increasing:&lt;br/&gt;
./symfony leak&lt;br/&gt;
Delta: 3285264 Value: 10651596&lt;br/&gt;
Delta: 12944 Value: 10664448&lt;br/&gt;
Delta: 12952 Value: 10677308&lt;br/&gt;
Delta: 12932 Value: 10690148&lt;br/&gt;
Delta: 12932 Value: 10702988&lt;br/&gt;
Delta: 12932 Value: 10715828&lt;br/&gt;
Delta: 12932 Value: 10728668&lt;br/&gt;
Delta: 12932 Value: 10741508&lt;br/&gt;
Delta: 12932 Value: 10754348&lt;br/&gt;
Delta: 12932 Value: 10767188&lt;/p&gt;

&lt;p&gt;Tested with and without data in database - result is the same.&lt;/p&gt;</description>
                <environment>$ ./symfony -V&lt;br/&gt;
symfony version 1.4.8 (/home/marcin.dryka/htdocs/leak/lib/vendor/symfony/lib)&lt;br/&gt;
&lt;br/&gt;
$ php -v&lt;br/&gt;
PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:41:55) &lt;br/&gt;
Copyright (c) 1997-2009 The PHP Group&lt;br/&gt;
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans&lt;br/&gt;
&lt;br/&gt;
Ubuntu Server (lucid)</environment>
            <key id="12042">DC-904</key>
            <summary>Doctrine_Query (execute / fetchOne) memory leak</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="drymek">Marcin Dryka</reporter>
                        <labels>
                    </labels>
                <created>Fri, 29 Oct 2010 09:24:05 +0000</created>
                <updated>Fri, 3 Dec 2010 02:51:53 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>3</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="14892" author="stc6895" created="Fri, 3 Dec 2010 01:18:50 +0000"  >&lt;p&gt;i found this bug too.&lt;/p&gt;

&lt;p&gt;$rcs = $query-&amp;gt;execute(array(),\Doctrine_Core::HYDRATE_ON_DEMAND);&lt;br/&gt;
		$query-&amp;gt;free();&lt;br/&gt;
		//write to new table&lt;br/&gt;
		foreach ($rcs as $rc)&lt;/p&gt;
{
			$new = $table-&amp;gt;create($rc-&amp;gt;toArray());
			$new-&amp;gt;save();
			$new-&amp;gt;free(true); //free memory
			$rc-&amp;gt;free(true);
		}

&lt;p&gt;hydrate not cause memory leak&lt;/p&gt;

&lt;p&gt;bug hydrate record will cause leak&lt;/p&gt;

&lt;p&gt;so iterate Doctrine_collection will cause memory leak&lt;/p&gt;
</comment>
                    <comment id="14893" author="drymek" created="Fri, 3 Dec 2010 02:51:53 +0000"  >&lt;p&gt;Changing hydration doesn&apos;t work for me. Same result for:&lt;br/&gt;
HYDRATE_ON_DEMAND&lt;br/&gt;
HYDRATE_RECORD&lt;br/&gt;
HYDRATE_ARRAY&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-899] Expose hardDelete method on node object when SoftDelete behavior is used</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-899</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When combining SoftDelete and NestedSet behavior, there&apos;s no way of calling hardDelete method on node object. According to documentation, to peform a delete on a nested set, delete should be called in node object, which will call delete method on the object itself.&lt;/p&gt;</description>
                <environment>MySQL</environment>
            <key id="12027">DC-899</key>
            <summary>Expose hardDelete method on node object when SoftDelete behavior is used</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fvaresi">Fernando Varesi</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Oct 2010 10:55:52 +0000</created>
                <updated>Fri, 22 Oct 2010 10:55:52 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Behaviors</component>
                <component>Nested Set</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-898] (PATCH) Migration fails when addColumn with type &apos;boolean&apos; used with default value, resulting in incorrect &apos;ALTER TABLE&apos; query in MySQL</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-898</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I use MySQL. In my up() method in migration class, I have:&lt;/p&gt;

&lt;p&gt;$this-&amp;gt;addColumn($table, &apos;is_master&apos;, &apos;boolean&apos;, null, array(&apos;notnull&apos; =&amp;gt; true, &apos;default&apos; =&amp;gt; false));&lt;/p&gt;

&lt;p&gt;Running &apos;migrate&apos; results in a following exception:&lt;br/&gt;
 Error #1 - SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42000&amp;#93;&lt;/span&gt;: Syntax error or access violation: 1067 Invalid default value for &apos;is_master&apos;. Failing Query: &quot;ALTER TABLE books_authors ADD is_master TINYINT(1) DEFAULT &apos;&apos; NOT NULL&quot;&lt;br/&gt;
#0 /usr/local/zend/share/pear/Doctrine/Connection.php(1025): Doctrine_Connection-&amp;gt;rethrowException(Object(PDOException), Object(Doctrine_Connection_Mysql), &apos;ALTER TABLE boo...&apos;)&lt;br/&gt;
#1 /usr/local/zend/share/pear/Doctrine/Export.php(621): Doctrine_Connection-&amp;gt;execute(&apos;ALTER TABLE boo...&apos;)&lt;br/&gt;
#2 /usr/local/zend/share/pear/Doctrine/Migration/Process.php(89): Doctrine_Export-&amp;gt;alterTable(&apos;books_authors&apos;, Array)&lt;br/&gt;
#3 /usr/local/zend/share/pear/Doctrine/Migration.php(522): Doctrine_Migration_Process-&amp;gt;processCreatedColumn(Array)&lt;br/&gt;
#4 /usr/local/zend/share/pear/Doctrine/Migration.php(479): Doctrine_Migration-&amp;gt;_doMigrateStep(&apos;up&apos;, 1)&lt;br/&gt;
#5 /usr/local/zend/share/pear/Doctrine/Migration.php(328): Doctrine_Migration-&amp;gt;_doMigrate(1)&lt;br/&gt;
#6 /usr/local/zend/share/pear/Doctrine/Core.php(1016): Doctrine_Migration-&amp;gt;migrate(NULL)&lt;br/&gt;
#7 /usr/local/zend/share/pear/Doctrine/Task/Migrate.php(41): Doctrine_Core::migrate(&apos;/Users/argasek/...&apos;, NULL)&lt;br/&gt;
#8 /usr/local/zend/share/pear/Doctrine/Cli.php(516): Doctrine_Task_Migrate-&amp;gt;execute()&lt;br/&gt;
#9 /usr/local/zend/share/pear/Doctrine/Cli.php(498): Doctrine_Cli-&amp;gt;executeTask(Object(Doctrine_Task_Migrate), Array)&lt;br/&gt;
#10 /usr/local/zend/share/pear/Doctrine/Cli.php(452): Doctrine_Cli-&amp;gt;_run(Array)&lt;br/&gt;
#11 /Users/argasek/Sites/blipoteka/scripts/doctrine-cli.php(28): Doctrine_Cli-&amp;gt;run(Array)&lt;br/&gt;
#12 &lt;/p&gt;
{main}

&lt;p&gt;However, I would expect ALTER query to look like this:&lt;/p&gt;

&lt;p&gt;ALTER TABLE books_authors ADD is_master TINYINT(1) DEFAULT 0 NOT NULL&lt;/p&gt;

&lt;p&gt;I guess there&apos;s a problem with getDefaultFieldDeclaration() in Doctrine_Export_Mysql, it lacks convertBooleans() call being present at Doctrine_Export.&lt;/p&gt;</description>
                <environment>Mac OS X 10.6 Snow Leopard / Zend Server CE 5.0.3 (irrelevant)</environment>
            <key id="12026">DC-898</key>
            <summary>(PATCH) Migration fails when addColumn with type &apos;boolean&apos; used with default value, resulting in incorrect &apos;ALTER TABLE&apos; query in MySQL</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="argasek">Jakub Argasi&#324;ski</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Oct 2010 08:02:33 +0000</created>
                <updated>Fri, 22 Oct 2010 08:02:33 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10830" name="fix_boolean_default_mysql_column_migration.patch" size="525" author="argasek" created="Fri, 22 Oct 2010 08:02:33 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-893] Using default value for bigint fields generates an error</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-893</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;A field defined as:&lt;br/&gt;
&apos;user_id&apos; =&amp;gt; array(&lt;br/&gt;
 &#160; &#160;&apos;type&apos; =&amp;gt; &apos;bigint&apos;,&lt;br/&gt;
 &#160; &#160;&apos;length&apos; =&amp;gt; 22,&lt;br/&gt;
 &#160; &#160;&apos;default&apos; =&amp;gt; 0,&lt;br/&gt;
),&lt;/p&gt;

&lt;p&gt;Generates an error when create-tables is used:&lt;br/&gt;
SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42000&amp;#93;&lt;/span&gt;: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &apos; &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt; user_id bigint(22) DEFAULT , INDEX schedule_prize_id_idx (schedule_prize_id)&lt;span class=&quot;error&quot;&gt;&amp;#91;..&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;The default value is not accounted for.&lt;/p&gt;</description>
                <environment>Replicated on *nix using MySQL DB.</environment>
            <key id="12016">DC-893</key>
            <summary>Using default value for bigint fields generates an error</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dosipov">Dan Osipov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Oct 2010 10:56:49 +0000</created>
                <updated>Mon, 25 Oct 2010 16:27:06 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14600" author="paulovitin" created="Mon, 25 Oct 2010 16:27:06 +0000"  >&lt;p&gt;20 is the length of the mysql bigint..&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-892] Typo. in Import/Pgsql.php</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-892</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;There is maybe a typo. l. 194 in Doctrine/Import/Pgsql.php : typtype should be type?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</description>
                <environment>Linux and symfony1.4.9</environment>
            <key id="12014">DC-892</key>
            <summary>Typo. in Import/Pgsql.php</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="nippo">Nicolas Ippolito</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Oct 2010 04:41:23 +0000</created>
                <updated>Thu, 31 Mar 2011 06:42:50 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="15644" author="leszczu" created="Thu, 31 Mar 2011 06:42:50 +0000"  >&lt;p&gt;Happens to me as well, on windows.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-888] Foreign key id columns do not respect ATTR_DEFAULT_IDENTIFIER_OPTIONS</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-888</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Some time ago Jon Wage suggested that one can override the 8-byte default integer type for IDs by setting Doctrine_Core::ATTR_DEFAULT_IDENTIFIER_OPTIONS in configureDoctrine (in a Symfony project), like this:&lt;/p&gt;

&lt;p&gt;  public function configureDoctrine(Doctrine_Manager $manager)&lt;/p&gt;
  {
    // Use 4-byte IDs for backwards compatibility with databases built on
    // Apostrophe 1.4, sfDoctrineGuard pre-5.0, etc. You don&apos;t need this for
    // a brand new site
    $options = $manager-&amp;gt;getAttribute(Doctrine_Core::ATTR_DEFAULT_IDENTIFIER_OPTIONS);
    $options[&apos;length&apos;] = 4;
    $manager-&amp;gt;setAttribute(Doctrine_Core::ATTR_DEFAULT_IDENTIFIER_OPTIONS, $options);
  }

&lt;p&gt;This works for primary key id columns. However it is not respected by foreign key id columns, which do not consult ATTR_DEFAULT_IDENTIFIER_OPTIONS.&lt;/p&gt;

&lt;p&gt;I looked at working around this using ATTR_DEFAULT_COLUMN_OPTIONS, however it is not type-specific. So if you set a length of 4 with that option, it applies not just to all integers but also to dates, datetimes, booleans and many other things that definitely should not be 4 bytes. &lt;/p&gt;

&lt;p&gt;The correct fix seems to be for foreign key id columns to respect ATTR_DEFAULT_IDENTIFIER_OPTIONS. &lt;/p&gt;

&lt;p&gt;Also, ATTR_DEFAULT_COLUMN_OPTIONS should probably let you specify different defaults for each column type as the length option is basically not usable in its current form. But that would not be a particularly clean solution to the foreign key id problem since limiting non-ID integers to 4 bytes should not be necessary.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;* *&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The motivation for this bug report:&lt;/p&gt;

&lt;p&gt;The new stable release of sfDoctrineGuardPlugin (for Symfony) does not specify an integer size as it formerly did, so the size of integers now defaults to 8 bytes. This breaks backwards compatibility with existing code that adds foreign key relationships to sfGuard objects like sfGuardUser, etc. Creating migrations to deal with changing this across all tables involved is quite difficult (all foreign key indexes must be dropped and recreated - doctrine:migrations-diff is unable to figure it out, understandably). &lt;/p&gt;</description>
                <environment>Any</environment>
            <key id="12006">DC-888</key>
            <summary>Foreign key id columns do not respect ATTR_DEFAULT_IDENTIFIER_OPTIONS</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="boutell">Tom Boutell</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Oct 2010 12:52:51 +0000</created>
                <updated>Wed, 13 Oct 2010 13:03:15 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Migrations</component>
                <component>Relations</component>
                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-887] disabling deep option with toArray() drops relations in result</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-887</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Using the toArray() on a Doctrine_Record object with the deep option set to true (default) correctly converts the whole object to an array including the relations.&lt;br/&gt;
But when the deep option is disabled the relations are not converted to array&apos;s (as expected) but they are lost, I would expect them to still be there in their original form (objects).&lt;/p&gt;

&lt;p&gt;I&apos;ve attached a fix. Another solution would be to add a flag that disables deep array conversion but enables relation persistence.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12004">DC-887</key>
            <summary>disabling deep option with toArray() drops relations in result</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="lex">Lex Brugman</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Oct 2010 11:06:39 +0000</created>
                <updated>Wed, 13 Oct 2010 11:06:39 +0000</updated>
                                    <version>1.2.4</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="10825" name="doctrine_toarray-deep_fix.patch" size="742" author="lex" created="Wed, 13 Oct 2010 11:06:39 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-886] Doctrine should support mysql native float/double</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-886</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine does not support native mysql float/double. It always specifies float(18,2) which reduces precission to 2 decimals.&lt;br/&gt;
Although it is possible via&lt;br/&gt;
type: float(18), scale: 6&lt;br/&gt;
to enhance precission, I experience the side-effect, that for example 76.86 is now stored as 76.860001&lt;br/&gt;
This ugly formatted number shows up in every form, unless I make an effort to round every field accordingly.&lt;/p&gt;

&lt;p&gt;I think doctrine should support mysql native float/double!&lt;/p&gt;</description>
                <environment>symfony 1.4.8 / mysql</environment>
            <key id="12003">DC-886</key>
            <summary>Doctrine should support mysql native float/double</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="zevero">Severin Puschkarski</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Oct 2010 10:55:24 +0000</created>
                <updated>Wed, 13 Oct 2010 11:19:54 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-884] Doctrine_Collection::loadRelated uses getLocal instead of getLocalFieldName</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-884</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Having a camelcase fieldname with a lowercase column name causes loadRelated of doctrine collection to throw an unknown property error, fix:&lt;/p&gt;

&lt;p&gt;Change&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$rel     = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_table-&amp;gt;getRelation($name);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($rel &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; Doctrine_Relation_LocalKey || $rel &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; Doctrine_Relation_ForeignKey) {
            foreach ($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;data as $record) {
                $list[] = $record[$rel-&amp;gt;getLocal()];
            }
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$rel     = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_table-&amp;gt;getRelation($name);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($rel &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; Doctrine_Relation_LocalKey || $rel &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; Doctrine_Relation_ForeignKey) {
            foreach ($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;data as $record) {
                $list[] = $record[$rel-&amp;gt;getLocalFieldName()];
            }
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function populateRelated($name, Doctrine_Collection $coll)
    {
        $rel     = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_table-&amp;gt;getRelation($name);
        $table   = $rel-&amp;gt;getTable();
        $foreign = $rel-&amp;gt;getForeign();
        $local   = $rel-&amp;gt;getLocal();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function populateRelated($name, Doctrine_Collection $coll)
    {
        $rel     = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_table-&amp;gt;getRelation($name);
        $table   = $rel-&amp;gt;getTable();
        $foreign = $rel-&amp;gt;getForeignFieldName();
        $local   = $rel-&amp;gt;getLocalFieldName();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Windows</environment>
            <key id="11994">DC-884</key>
            <summary>Doctrine_Collection::loadRelated uses getLocal instead of getLocalFieldName</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="baxter">Jason Brumwell</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Oct 2010 12:53:09 +0000</created>
                <updated>Mon, 18 Feb 2013 20:52:07 +0000</updated>
                                                                    <component>Record</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="16574" author="eadi" created="Wed, 12 Oct 2011 07:52:56 +0000"  >&lt;p&gt;Now this is really poor. This trivial bug is known for over a year not but not yet fixed.&lt;/p&gt;

&lt;p&gt;Fixing it would save millions of rainforrest trees because people would not have to rely on hundreds of lazy loading queries per page but start to use the getRelation() method.&lt;/p&gt;</comment>
                    <comment id="18846" author="eadi" created="Thu, 18 Oct 2012 07:52:18 +0000"  >&lt;p&gt;Two years now. :&apos;-(&lt;/p&gt;</comment>
                    <comment id="19563" author="mishal" created="Mon, 18 Feb 2013 20:52:07 +0000"  >&lt;p&gt;Another year, and all people are probably on Doctrine2.&lt;/p&gt;

&lt;p&gt;But.... I just pushed your fix #&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-884&quot; title=&quot;Doctrine_Collection::loadRelated uses getLocal instead of getLocalFieldName&quot;&gt;DC-884&lt;/a&gt; to my Doctrine1 fork, if you are interested.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mishal/doctrine1&quot; class=&quot;external-link&quot;&gt;https://github.com/mishal/doctrine1&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-885] Building schema doesn&apos;t work when tables have cross database foreign keys (MySQL).</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-885</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When building schema using the doctrine:build-schena task from multiple databases used in our project, the import process end up with a &quot;missing classname&quot; error without building the schema.yml file.&lt;/p&gt;

&lt;p&gt;This seems to be caused by the fact that the tables contained in the databases contain foreign keys referencing the other databases tables pks.&lt;/p&gt;

&lt;p&gt;As an example we have :&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;A main database (call it portal) that contains user&apos;s informations, and many other things.&lt;/li&gt;
	&lt;li&gt;a second database that contains business informations with some tables refererecing users informations contained in the main database.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;When generating the schema, and specifically on the second database step, there are no informations found for the primary keys contained main database.&lt;/p&gt;

&lt;p&gt;Digging in the import process, it seems that the issue comes from the fact that the Doctrine_Import.importSchema function creates a new definition array instance for every database encountered in the databases.yml.&lt;/p&gt;

&lt;p&gt;The correction found for this was to take the array() creation one level up before the connections traversing.&lt;/p&gt;

&lt;p&gt;original code :&lt;br/&gt;
    public function importSchema($directory, array $connections = array(), array $options = array())&lt;br/&gt;
    {&lt;br/&gt;
        $classes = array();&lt;/p&gt;

&lt;p&gt;        $manager = Doctrine_Manager::getInstance();&lt;br/&gt;
        foreach ($manager as $name =&amp;gt; $connection) {&lt;br/&gt;
          // Limit the databases to the ones specified by $connections.&lt;br/&gt;
          // Check only happens if array is not empty&lt;br/&gt;
          if ( ! empty($connections) &amp;amp;&amp;amp; ! in_array($name, $connections)) &lt;/p&gt;
{
            continue;
          }&lt;br/&gt;
&lt;br/&gt;
          $builder = new Doctrine_Import_Builder();&lt;br/&gt;
          $builder-&amp;gt;setTargetPath($directory);&lt;br/&gt;
          $builder-&amp;gt;setOptions($options);&lt;br/&gt;
&lt;br/&gt;
          $definitions = array(); // &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; STAYING THERE CAUSES THE &quot;MISSING CLASSNAME&quot; ERROR&lt;br/&gt;
&lt;br/&gt;
          foreach ($connection-&amp;gt;import-&amp;gt;listTables() as $table) {&lt;br/&gt;
......&lt;br/&gt;
&lt;br/&gt;
modified code :&lt;br/&gt;
&lt;br/&gt;
    public function importSchema($directory, array $connections = array(), array $options = array())&lt;br/&gt;
    {&lt;br/&gt;
        $classes = array();&lt;br/&gt;
&lt;br/&gt;
        $manager = Doctrine_Manager::getInstance();&lt;br/&gt;
        $definitions = array(); // &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;PUT HERE&lt;br/&gt;
&lt;br/&gt;
        foreach ($manager as $name =&amp;gt; $connection) {&lt;br/&gt;
          // Limit the databases to the ones specified by $connections.&lt;br/&gt;
          // Check only happens if array is not empty&lt;br/&gt;
          if ( ! empty($connections) &amp;amp;&amp;amp; ! in_array($name, $connections)) {            continue;          }

&lt;p&gt;          $builder = new Doctrine_Import_Builder();&lt;br/&gt;
          $builder-&amp;gt;setTargetPath($directory);&lt;br/&gt;
          $builder-&amp;gt;setOptions($options);&lt;/p&gt;

&lt;p&gt;          foreach ($connection-&amp;gt;import-&amp;gt;listTables() as $table) {&lt;br/&gt;
.......&lt;/p&gt;</description>
                <environment>Windows XP SP3, Apache 2, PHP 5.3, MySQL 5.1.36, Symfony 1.4.8.</environment>
            <key id="11998">DC-885</key>
            <summary>Building schema doesn&apos;t work when tables have cross database foreign keys (MySQL).</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fabrice.agnello">Fabrice Agnello</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Oct 2010 04:52:04 +0000</created>
                <updated>Tue, 12 Oct 2010 04:52:04 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-882] Doctrine Collection FromArray doesn&apos;t adhere to KeyColumn</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-882</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Using the following in the base class:&lt;/p&gt;

&lt;p&gt;$this-&amp;gt;setAttribute(Doctrine_Core::ATTR_COLL_KEY, &apos;class&apos;);&lt;/p&gt;

&lt;p&gt;Then executing a query to array the indexes of the entity are not that of the class field:&lt;/p&gt;

&lt;p&gt;example:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;array(
 0 =&amp;gt; ..
 1 =&amp;gt; ...
);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;fix:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;/**
     * Populate a Doctrine_Collection from an array of data
     *
     * @param string $array 
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; void
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function fromArray($array, $deep = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
    {
        $data = array();
        foreach ($array as $rowKey =&amp;gt; $row) {
            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;[$rowKey]-&amp;gt;fromArray($row, $deep);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;/**
     * Populate a Doctrine_Collection from an array of data
     *
     * @param string $array 
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; void
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function fromArray($array, $deep = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
    {
        $data = array();
        $keyColumn = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;keyColumn;
        foreach ($array as $rowKey =&amp;gt; $row) {
            $rowKey = $keyColumn AND isset($row[$keyColumn]) ? $row[$keyColumn] : $rowKey;
            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;[$rowKey]-&amp;gt;fromArray($row, $deep);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11992">DC-882</key>
            <summary>Doctrine Collection FromArray doesn&apos;t adhere to KeyColumn</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="baxter">Jason Brumwell</reporter>
                        <labels>
                    </labels>
                <created>Sat, 9 Oct 2010 11:47:46 +0000</created>
                <updated>Sat, 9 Oct 2010 11:48:38 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-881] Doctrine_Manager::parsePdoDsn() doesn&apos;t work properly [+patch]</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-881</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine_Manager::parsePdoDsn(&apos;dblib:host=127.0.0.1:1433;dbname=foo&apos;) does not return proper results.&lt;/p&gt;

&lt;p&gt;patch and test case @ github&lt;/p&gt;</description>
                <environment></environment>
            <key id="11989">DC-881</key>
            <summary>Doctrine_Manager::parsePdoDsn() doesn&apos;t work properly [+patch]</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="enrico">Enrico Stahn</reporter>
                        <labels>
                    </labels>
                <created>Fri, 8 Oct 2010 12:46:04 +0000</created>
                <updated>Fri, 8 Oct 2010 12:46:04 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-880] Versionable + I18n creates additional migration with irrelevant data</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-880</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;First run of generate-migrations-diff and migrate creates 2 migration diff files. First one for new tables, second one for new indexes and foreign keys. Than if I run generate-migrations-diff again another version is created although nothing was changed and following is inside:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;1st entry tries to drop a foreign key never been created and not existing in file&lt;/li&gt;
	&lt;li&gt;next entry tries to create a foreign key already existing&lt;/li&gt;
	&lt;li&gt;3rd entry tries to create an existing index&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;After a long try and errorI found out that it&apos;s only happening with I18n plus Versionable behavior.&lt;/p&gt;

&lt;p&gt;As I already have spent much time for a report please have also a look at: &lt;a href=&quot;http://forum.diem-project.org/viewtopic.php?f=2&amp;amp;t=173&amp;amp;sid=5e0e3349c0e15a169bc9990a3104b3f6#p465&quot; class=&quot;external-link&quot;&gt;http://forum.diem-project.org/viewtopic.php?f=2&amp;amp;t=173&amp;amp;sid=5e0e3349c0e15a169bc9990a3104b3f6#p465&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I&apos;m quite new to Doctrine and Symfony systems I cannot get further, but willing for more investigation if just one could give me a hint where to start.&lt;/p&gt;</description>
                <environment>PHP 5.2, Symfony 1.4, Diem 5.1, Doctrine 1.2.2</environment>
            <key id="11982">DC-880</key>
            <summary>Versionable + I18n creates additional migration with irrelevant data</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sanshao">Thomas</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Oct 2010 14:37:39 +0000</created>
                <updated>Mon, 19 Sep 2011 08:20:21 +0000</updated>
                                    <version>1.2.4</version>
                                                <component>Behaviors</component>
                <component>I18n</component>
                <component>Migrations</component>
                <component>Relations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14551" author="andrewcoulton" created="Sun, 10 Oct 2010 20:50:17 +0000"  >&lt;p&gt;I think this is because the versionable behaviour doesn&apos;t define a table name in the Doctrine_Template_Versionable class. As a result, if using model prefixes, the prefixes are not discarded from the table names when the behaviour model classes are built. This means that the tables have different names to what is expected, so they have different index keys, so the indexes are dropped and recreated as part of the migration.&lt;/p&gt;

&lt;p&gt;I have committed unit tests and patch for this issue (which applies to Searchable also) to &lt;a href=&quot;http://github.com/acoulton/doctrine1/tree/DC-880&quot; class=&quot;external-link&quot;&gt;http://github.com/acoulton/doctrine1/tree/DC-880&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16492" author="xdade" created="Mon, 19 Sep 2011 08:19:31 +0000"  >&lt;p&gt;I experienced the same problem in the latest version 1.2.4, and the patch proposed by Andrew Coulton solves the problem.&lt;br/&gt;
Why the fix is not included in official release?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-878] cannot access the version models using object-&gt;CLASSNAMEVersion in v1.2.3</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-878</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In Doctrine 1.1 if I said&lt;/p&gt;

&lt;p&gt;$vAaaaa = Doctrine::getTable(&apos;Aaaaa&apos;)-&amp;gt;find(1);&lt;br/&gt;
print_r( $vAaaaa-&amp;gt;AaaaaVersion ); // print_r( $vAaaaa-&amp;gt;AaaaaVersion&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;-&amp;gt;toArray() );&lt;/p&gt;

&lt;p&gt;then I got the corresponding version model/array. Our application is using this nice behaviour at several places. But then the project got upgraded to Doctrine 1.2.3, and since then it dies saying&lt;/p&gt;

&lt;p&gt;Unknown record property / related component &quot;UserVersion&quot; on &quot;User&quot; on line 55 of file /home/roland/www/cabcall/library/Doctrine/Doctrine/Record/Filter/Standard.php&lt;br/&gt;
#0 /home/roland/www/cabcall/library/Doctrine/Doctrine/Record.php(1395): Doctrine_Record_Filter_Standard-&amp;gt;filterGet(Object(User), &apos;UserVersion&apos;)&lt;br/&gt;
#1 /home/roland/www/cabcall/library/Doctrine/Doctrine/Record.php(1350): Doctrine_Record-&amp;gt;_get(&apos;UserVersion&apos;, true)&lt;br/&gt;
#2 /home/roland/www/cabcall/library/Doctrine/Doctrine/Access.php(72): Doctrine_Record-&amp;gt;get(&apos;UserVersion&apos;)&lt;br/&gt;
#3 /home/roland/www/cabcall/application/controllers/TestController.php(12): Doctrine_Access-&amp;gt;__get(&apos;UserVersion&apos;)&lt;br/&gt;
#4 /home/roland/www/cabcall/library/Zend/Controller/Action.php(513): TestController-&amp;gt;indexAction()&lt;br/&gt;
#5 /home/roland/www/cabcall/library/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action-&amp;gt;dispatch(&apos;indexAction&apos;)&lt;br/&gt;
#6 /home/roland/www/cabcall/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard-&amp;gt;dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))&lt;br/&gt;
#7 /home/roland/www/cabcall/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front-&amp;gt;dispatch()&lt;br/&gt;
#8 /home/roland/www/cabcall/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap-&amp;gt;run()&lt;br/&gt;
#9 /home/roland/www/cabcall/public/index.php(64): Zend_Application-&amp;gt;run()&lt;br/&gt;
#10 &lt;/p&gt;
{main}

&lt;p&gt;Here is the exact example I tried before posting:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;
Aaaaa:
    tableName: aaaaa
    columns:
        something:
            type: integer(8)
            unsigned: false
            notnull: true
            default: 0
    actAs:
        Versionable:
            versionColumn: version
            className: %CLASS%Version
            auditLog: true
            deleteVersions: true


class AaaaaTable extends Doctrine_Table
{
    /**
     * Returns an instance of this class.
     *
     * @return object AaaaaTable
     */
    public static function getInstance()
    {
        return Doctrine_Core::getTable(&apos;Aaaaa&apos;);
    }
}


abstract class BaseAaaaa extends Doctrine_Record
{

    public function setTableDefinition()
    {
        $this-&amp;gt;setTableName(&apos;aaaaa&apos;);
        $this-&amp;gt;hasColumn(&apos;something&apos;, &apos;integer&apos;, 8, array(
             &apos;type&apos; =&amp;gt; &apos;integer&apos;,
             &apos;unsigned&apos; =&amp;gt; false,
             &apos;notnull&apos; =&amp;gt; true,
             &apos;default&apos; =&amp;gt; 0,
             &apos;length&apos; =&amp;gt; &apos;8&apos;,
             ));

        $this-&amp;gt;option(&apos;type&apos;, &apos;INNODB&apos;);
        $this-&amp;gt;option(&apos;collate&apos;, &apos;utf8_general_ci&apos;);
        $this-&amp;gt;option(&apos;charset&apos;, &apos;utf8&apos;);
    }

    public function setUp()
    {
        parent::setUp();
        $versionable0 = new Doctrine_Template_Versionable(array(
             &apos;versionColumn&apos; =&amp;gt; &apos;version&apos;,
             &apos;className&apos; =&amp;gt; &apos;%CLASS%Version&apos;,
             &apos;auditLog&apos; =&amp;gt; true,
             &apos;deleteVersions&apos; =&amp;gt; true
             ));

        $this-&amp;gt;actAs($versionable0);
    }

}


class Aaaaa extends BaseAaaaa
{

}


/*
$vAaaaa = New Aaaaa;
$vAaaaa-&amp;gt;something = 1;
$vAaaaa-&amp;gt;save();
*/

$vAaaaa = Doctrine::getTable(&apos;Aaaaa&apos;)-&amp;gt;find(1);

print_r( $vAaaaa-&amp;gt;AaaaaVersion );

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>PHP Version 5.2.10-2ubuntu6.5 ; Suhosin Patch 0.9.7 ; Ubuntu 9.10 2.6.31-22-generic x86_64 ; Apache/2.2.12 (Ubuntu) PHP/5.2.10-2ubuntu6.5 with Suhosin-Patch  ; Doctrine 1.2.3</environment>
            <key id="11969">DC-878</key>
            <summary>cannot access the version models using object-&gt;CLASSNAMEVersion in v1.2.3</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="hroland">Roland Huszti</reporter>
                        <labels>
                    </labels>
                <created>Thu, 30 Sep 2010 11:21:45 +0000</created>
                <updated>Thu, 7 Oct 2010 06:14:53 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14508" author="hroland" created="Fri, 1 Oct 2010 05:18:41 +0000"  >&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;
&amp;lt;?php

class OSS_Resource_Doctrine extends Zend_Application_Resource_ResourceAbstract
{
    /**
     * Holds the Doctrine instance
     *
     * @var
     */
    protected $_doctrine;


    public function init()
    {
        // Return Doctrine so bootstrap will store it in the registry
        return $this-&amp;gt;getDoctrine();
    }


    public function getDoctrine()
    {
        if ( null === $this-&amp;gt;_doctrine )
        {
            // Get Doctrine configuration options from the application.ini file
            $doctrineConfig = $this-&amp;gt;getOptions();

            require_once &apos;Doctrine.php&apos;;

            $loader = Zend_Loader_Autoloader::getInstance();
            $loader-&amp;gt;pushAutoloader( array( &apos;Doctrine&apos;, &apos;autoload&apos; ) );
            $loader-&amp;gt;pushAutoloader( array( &apos;Doctrine&apos;, &apos;modelsAutoload&apos; ) );

            $manager = Doctrine_Manager::getInstance();

            $manager-&amp;gt;setAttribute( Doctrine::ATTR_MODEL_LOADING, Doctrine::MODEL_LOADING_CONSERVATIVE );
            $manager-&amp;gt;setAttribute( Doctrine::ATTR_AUTOLOAD_TABLE_CLASSES, true );
            $manager-&amp;gt;setAttribute( Doctrine::ATTR_USE_DQL_CALLBACKS, true );

            $manager-&amp;gt;setCollate( &apos;utf8_unicode_ci&apos; );
            $manager-&amp;gt;setCharset( &apos;utf8&apos; );

            Doctrine::loadModels( $doctrineConfig[&apos;models_path&apos;] );

            $db_profiler = new Doctrine_Connection_Profiler();

            $manager-&amp;gt;openConnection( $doctrineConfig[&apos;connection_string&apos;] );
            $manager-&amp;gt;connection()-&amp;gt;setListener( $db_profiler );

            $manager-&amp;gt;connection()-&amp;gt;setCollate(&apos;utf8_unicode_ci&apos;);
            $manager-&amp;gt;connection()-&amp;gt;setCharset(&apos;utf8&apos;);

            Zend_Registry::set( &apos;db_profiler&apos;, $db_profiler );

            $this-&amp;gt;_doctrine = $manager;
        }

        return $this-&amp;gt;_doctrine;
    }

    /**
     * Set the classes $_doctrine member
     *
     * @param $doctrine The object to set
     */
    public function setDoctrine( $doctrine )
    {
        $this-&amp;gt;_doctrine = $doctrine;
    }

}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14543" author="hroland" created="Thu, 7 Oct 2010 06:14:53 +0000"  >&lt;p&gt;To have this very nice and useful feature, I had to add these lines by hand to my audited table&apos;s models. Not to the base models, those are overwritten every time you migrate to a new version! Also, in the YAML file you can set the classname to whatever you want, so you need to use the same name in the model, too!&lt;/p&gt;

&lt;p&gt;MODEL&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;
class XYZ extends BaseXYZ

{


    public function setUp()

    {

        parent::setUp();

        $this-&amp;gt;hasMany(&apos;XYZVersion&apos;, array( &apos;local&apos; =&amp;gt; &apos;id&apos;, &apos;foreign&apos; =&amp;gt; &apos;id&apos;));

        // you may get the classname from the model, so then you only need to copy-paste the exact same piece of setUp() code into every model you want to
    }


    . . .
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;YAML&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;    actAs:
        Versionable:
            versionColumn: version
            className: %CLASS%Version    # this is the default, User -&amp;gt; UserVersion , Address -&amp;gt; AddressVersion, etc.
            auditLog: true
            deleteVersions: true
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-875] One-to-many relationship returns Doctrine_Record instead of Doctrine_Collection</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-875</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I&apos;ve run into a bit of a snag in my application where a relationship defined as a one-to-many relationship returns a model object (instance of Doctrine_Record) instead of a Doctrine_Collection when I try to access it as $model-&amp;gt;RelatedComponent[] = $child1. This, of course, yields an exception like so:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;Doctrine_Exception: Add is not supported for AuditLogProperty&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#0 path\library\Doctrine\Access.php(131): Doctrine_Access-&amp;gt;add(Object(AuditLogProperty))&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#1 path\application\models\Article.php(58): Doctrine_Access-&amp;gt;offsetSet(NULL, Object(AuditLogProperty))&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#2 path\library\Doctrine\Record.php(354): Article-&amp;gt;postInsert(Object(Doctrine_Event))&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#3 path\library\Doctrine\Connection\UnitOfWork.php(576): Doctrine_Record-&amp;gt;invokeSaveHooks(&apos;post&apos;, &apos;insert&apos;, Object(Doctrine_Event))&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#4 path\library\Doctrine\Connection\UnitOfWork.php(81): Doctrine_Connection_UnitOfWork-&amp;gt;insert(Object(Article))&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#5 path\library\Doctrine\Record.php(1718): Doctrine_Connection_UnitOfWork-&amp;gt;saveGraph(Object(Article))&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#6 path\application\modules\my-page\controllers\ArticleController.php(26): Doctrine_Record-&amp;gt;save()&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#7 path\library\Zend\Controller\Action.php(513): MyPage_ArticleController-&amp;gt;createAction()&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#8 path\library\Zend\Controller\Dispatcher\Standard.php(289): Zend_Controller_Action-&amp;gt;dispatch(&apos;createAction&apos;)&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#9 path\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard-&amp;gt;dispatch(Object(Zend_Controller_Request_Http),&lt;/tt&gt; &lt;tt&gt;Object(Zend_Controller_Response_Http))&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#10 path\library\Zend\Application\Bootstrap\Bootstrap.php(77): Zend_Controller_Front-&amp;gt;dispatch()&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#11 path\library\Zend\Application.php(358): Zend_Application_Bootstrap_Bootstrap-&amp;gt;run()&lt;/tt&gt;&lt;br/&gt;
    &lt;tt&gt;#12 path\public\index.php(11): Zend_Application-&amp;gt;run()&lt;/tt&gt;&lt;br/&gt;
    {{#13 &lt;/p&gt;
{main}
&lt;p&gt;}}&lt;/p&gt;

&lt;p&gt;This is what my yaml-schema looks like (excerpt):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;schema.yml&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;AuditLogEntry:
  tableName: audit_log_entries
  actAs:
    Timestampable:
      updated: {disabled: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
  columns:
    user_id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    type: {type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    mode: {type: string(16)}
    article_id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    comment_id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    question_id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    answer_id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    message_id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
  indexes:
#   Must index autoincrementing id-column since it&apos;s a compound primary key and 
#   the auto-incrementing column is not the first column and we use InnoDB.
    id: {fields: [id]}
    type: {fields: [type, mode]}
  relations:
    User:
      local: user_id
      foreign: user_id
      foreignAlias: AuditLogs
      type: one
      onDelete: CASCADE
      onUpdate: CASCADE
AuditLogProperty:
  tableName: audit_log_properties
  columns:
    auditlog_id: {type: integer(8), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    prop_id: {type: integer(2), unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: 1}
    name: {type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}
    value: {type: string(1024)}
  relations:
    AuditLogEntry:
      local: auditlog_id
      foreign: id
      type: one
      foreignType: many
      foreignAlias: Properties
      onDelete: CASCADE
      onUpdate: CASCADE
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now, if we look at the generated class-files, it looks fine:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;/**
 * @property integer $user_id
 * @property integer $id
 * @property string $type
 * @property string $mode
 * @property integer $article_id
 * @property integer $comment_id
 * @property integer $question_id
 * @property integer $answer_id
 * @property integer $message_id
 * @property integer $news_comment_id
 * @property User $User
 * @property Doctrine_Collection $Properties
 * @property Doctrine_Collection $Notifications
 */
&lt;span class=&quot;code-keyword&quot;&gt;abstract&lt;/span&gt; class BaseAuditLogEntry &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record

/**
 * @property integer $auditlog_id
 * @property integer $prop_id
 * @property string $name
 * @property string $value
 * @property AuditLogEntry $AuditLogEntry
 */
&lt;span class=&quot;code-keyword&quot;&gt;abstract&lt;/span&gt; class BaseAuditLogProperty &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;However, when I later try to add properties I get the exception posted in the beginning of the question:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;$auditLog = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; AuditLogEntry();
$prop1 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; AuditLogProperty();
$prop1-&amp;gt;name = &apos;title&apos;;
$prop1-&amp;gt;value = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;Content-&amp;gt;title;
$prop2 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; AuditLogProperty();
$prop2-&amp;gt;name = &apos;length&apos;;
$prop2-&amp;gt;value = count($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;Content-&amp;gt;plainText);
$auditLog-&amp;gt;Properties[] = $prop1;
$auditLog-&amp;gt;Properties[] = $prop2;
$auditLog-&amp;gt;save();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If I do the following:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;var_dump(get_class($auditLog-&amp;gt;Properties));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I get that &lt;em&gt;Properties&lt;/em&gt; is of type &lt;em&gt;AuditLogProperty&lt;/em&gt;, instead of &lt;em&gt;Doctrine&amp;#95;Collection&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I use version 1.2.3 of Doctrine.&lt;/p&gt;</description>
                <environment>WAMP:&lt;br/&gt;
Windows 7 - 64bit&lt;br/&gt;
Apache 2.2&lt;br/&gt;
PHP 5.3.1&lt;br/&gt;
MySQL 5.1.41</environment>
            <key id="11965">DC-875</key>
            <summary>One-to-many relationship returns Doctrine_Record instead of Doctrine_Collection</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="patrik.akerstrand">Patrik &#197;kerstrand</reporter>
                        <labels>
                    </labels>
                <created>Thu, 30 Sep 2010 08:22:37 +0000</created>
                <updated>Wed, 14 Sep 2011 23:01:49 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="16476" author="twencl" created="Wed, 14 Sep 2011 23:01:49 +0000"  >&lt;p&gt;I am having the same issue and it is killing my application. Using your example, when I call:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;var_dump(get_class($auditLog-&amp;gt;Properties));&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;... and there are no AuditLogProperty records, I would expect either an empty Doctrine_Collection or null, but instead I get a new instance of AuditLogProperty with null values for the properties. &lt;/p&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-871] When importing fixtures some times the fixtures will be loaded in the wrong order causing broken foreign key relations</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-871</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;I recently encountered a problem when importing fixtures. I was ending up with invalid foreign key constraints due to the fact that the fixtures were importing in the wrong order. I tracked down the problem and figured out that the method Doctrine_Connection_UnitOfWork::buildFlushTree, while a truly impressive piece of sorting logic still some times still gets the order of the classes wrong in its end result.&lt;/p&gt;

&lt;p&gt;I realized that all it needed though was a second shot at reordering the list &amp;#8211; in other words it needed to exhaustively try to order the list until it found that everything was in the right order.&lt;/p&gt;

&lt;p&gt;I put in a for loop in this method that will keep running until no order changes occurred or until a max number of attempts have been reached. The max number of attempts I added as a property of Doctrine_Connection called: maxBuildFlushTreeOrderAttempts.&lt;/p&gt;

&lt;p&gt;This has solved my problem. I wouldn&apos;t be surprised if this was a common issue.&lt;/p&gt;

&lt;p&gt;I will post my patch into this thread.&lt;/p&gt;

&lt;p&gt;Hope all is well.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</description>
                <environment>XP Xamp</environment>
            <key id="11935">DC-871</key>
            <summary>When importing fixtures some times the fixtures will be loaded in the wrong order causing broken foreign key relations</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="willf1976">will ferrer</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Sep 2010 22:26:01 +0000</created>
                <updated>Mon, 20 Sep 2010 22:34:45 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14426" author="willf1976" created="Mon, 20 Sep 2010 22:34:45 +0000"  >&lt;p&gt;Here is the patch&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10805" name="DC_871_fix.patch" size="10326" author="willf1976" created="Mon, 20 Sep 2010 22:34:45 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-869] calling getLastModified() after saving the object without any modifications returns the last modified fields</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-869</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;_resetModified() function in Record.php fails to reset $this-&amp;gt;_lastModified the second time the object is saved. &lt;/p&gt;
</description>
                <environment>symfony-1.4.6</environment>
            <key id="11930">DC-869</key>
            <summary>calling getLastModified() after saving the object without any modifications returns the last modified fields</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="artworx">Keszeg Alexandru</reporter>
                        <labels>
                    </labels>
                <created>Fri, 17 Sep 2010 09:02:08 +0000</created>
                <updated>Fri, 17 Sep 2010 09:02:08 +0000</updated>
                                    <version>1.2.0</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-867] Doctrine::ATTR_IDXNAME_FORMAT and Doctrine::ATTR_FKNAME_FORMAT are inconsistently applied during migrations</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-867</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Given the following code:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function up()
    {
        $idx = array(
            &apos;fields&apos; =&amp;gt; array(&apos;profile_id&apos;)
        );

        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;addIndex(&apos;schedules&apos;, &apos;ix_schedules_profile_id&apos;, $idx);
    }
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function down()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;removeIndex(&apos;schedules&apos;, &apos;ix_schedules_profile_id&apos;);
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The &quot;up&quot; function will try to create &quot;ix_schedules_profile_id&quot;, but the &quot;down&quot; function will try to remove &quot;ix_schedules_profile_id_idx&quot;. The same problem exists with foreign keys. The add/remove functions should both use the formatter, or neither should.&lt;/p&gt;</description>
                <environment>postgres 8.4</environment>
            <key id="11923">DC-867</key>
            <summary>Doctrine::ATTR_IDXNAME_FORMAT and Doctrine::ATTR_FKNAME_FORMAT are inconsistently applied during migrations</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ryeguy">Ryan Lepidi</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Sep 2010 15:36:34 +0000</created>
                <updated>Wed, 7 Sep 2011 18:52:04 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16448" author="johnkary" created="Wed, 7 Sep 2011 18:52:04 +0000"  >&lt;p&gt;Appears to be duplicate of &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-830&quot; title=&quot;Migration for up() not adding suffix for index&quot;&gt;DC-830&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-866] Bug In Debian &quot;Can&apos;t parse dsn..&quot;!</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-866</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;config dsn: sqlite:///root/db3.db&lt;/p&gt;

&lt;p&gt;i find parse_url will cause the problem&lt;/p&gt;

&lt;p&gt;------------------&lt;br/&gt;
 $dsn = str_replace(&quot;////&quot;, &quot;/&quot;, $dsn);&lt;br/&gt;
 $dsn = str_replace(&quot;&lt;br class=&quot;atl-forced-newline&quot; /&gt;&quot;, &quot;/&quot;, $dsn);&lt;br/&gt;
$dsn = preg_replace(&quot;/\/\/\/(.*):\//&quot;, &quot;//$1:/&quot;, $dsn);&lt;/p&gt;

&lt;p&gt;this fix will be correct in windows ,because dsn is sqlite://C:/aa/wafdb.db3&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;but in debian it will be fail.&lt;/p&gt;</description>
                <environment>Debian4  PHP 5.3.1</environment>
            <key id="11915">DC-866</key>
            <summary>Bug In Debian &quot;Can&apos;t parse dsn..&quot;!</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="stc6895">sonic wang</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Sep 2010 07:44:46 +0000</created>
                <updated>Wed, 15 Sep 2010 09:10:03 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-865] Models that extend a baseclass other than Doctrine_Record treat that baseclass as if it were a model</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-865</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;We recently made an extended version of Docrtine_Record which has some functionality that is specific to our project and we switched all our models to use this baseclass by setting the cli option: generate_models_options:baseClassName&lt;/p&gt;

&lt;p&gt;We found that when we rebuilt our db this base class was being treated as it were a model (even though its an abstract class). This was causing some errors during our build and a table based on the name of the baseclass was being created.&lt;/p&gt;

&lt;p&gt;I tracked the problem down to line 310 of Doctrine_Table where the do loop was only breaking for a class named &quot;Doctrine_Record&quot;.&lt;/p&gt;

&lt;p&gt;It seemed to make more sense to me to have this loop break for any abstract class, so I copied the technique used to check for abstract classes from Doctrine_Core Line 798. This broke a lot of tests however so due to time constraints I went with a simpler fix &amp;#8211; instead I just changed the code that checks if the class is named &quot;Doctrine_Record&quot; to be a regular expression that checks to see if the class name starts with &quot;Doctrine_Record&quot; optionally followed by an underscore + more text in the class name.&lt;/p&gt;

&lt;p&gt;This has fixed my issue and should let people make extensions of doctrine record which they can use as a baseclass provided that their class names indicate that they are extending Doctrine_Record.&lt;/p&gt;

&lt;p&gt;The only problem I can see arising from this if some users have made models that they have named starting with &quot;Doctrine_Record&quot;, but that seems like it would be an odd thing to do so this probably it won&apos;t be an issue.&lt;/p&gt;

&lt;p&gt;I could however look more closely into detecting abstract classes if this would make my changes significantly more useful.&lt;/p&gt;

&lt;p&gt;Please see attached patch.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</description>
                <environment>XP Windows</environment>
            <key id="11912">DC-865</key>
            <summary>Models that extend a baseclass other than Doctrine_Record treat that baseclass as if it were a model</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="willf1976">will ferrer</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 Sep 2010 19:42:56 +0000</created>
                <updated>Sat, 11 Sep 2010 19:47:56 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Cli</component>
                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14345" author="willf1976" created="Sat, 11 Sep 2010 19:47:56 +0000"  >&lt;p&gt;Here is the patch&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10791" name="DC_865_fix.patch" size="531" author="willf1976" created="Sat, 11 Sep 2010 19:47:56 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-863] Connection.UnitOfWork::buildFlushTree when loading data from yml file, Incorrect ordering of tables by their relations</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-863</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I don&apos;t know where exactly to start, I&apos;m new here, and i&apos;m not even sure this is a bug. BUT&lt;/p&gt;

&lt;p&gt;We have a database structure with most important tables&apos; PK&apos;s as string fields, which function as FK on other tables the basic structure is:&lt;/p&gt;

&lt;p&gt;Artist&lt;br/&gt;
   -Album&lt;br/&gt;
     -Song&lt;br/&gt;
       -Comments&lt;/p&gt;

&lt;p&gt;each artist has multiple songs&lt;br/&gt;
each artist has multiple albums&lt;br/&gt;
each album has multiple songs that belong to the same artist as the album belongs to&lt;br/&gt;
each song has multiple comments&lt;/p&gt;

&lt;p&gt;thus, the UnitOfWork - builtFlushTree should generate&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;=&amp;gt;Artist&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;=&amp;gt;Album&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;=&amp;gt;Song&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt;=&amp;gt;Comments&lt;/p&gt;

&lt;p&gt;but instead i get:&lt;br/&gt;
    &lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt; =&amp;gt; Album&lt;br/&gt;
    &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; =&amp;gt; Artist&lt;br/&gt;
    &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt; =&amp;gt; Song&lt;br/&gt;
    &lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt; =&amp;gt; Lyrics&lt;/p&gt;

&lt;p&gt;which in turn generates:&lt;/p&gt;

&lt;p&gt;QLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`lyrics`.`album`, CONSTRAINT `album_artist_fk_stripped_name_artist_stripped_name` FOREIGN KEY (`artist_fk_stripped_name`) REFERENCES `artist` (`stripped_name`) ON DELETE CASCADE ON UPDATE CASC)  &lt;br/&gt;
obviously.&lt;/p&gt;

&lt;p&gt;I&apos;ve been going through symfony/doctrine code for a whole day trying to figure out why I can&apos;t load-data. in the end i get to this buildFlushTree function.&lt;br/&gt;
probably have to go deeper. but so far this is it&lt;/p&gt;

&lt;p&gt;PS. It&apos;s my decision to use string fields as PK&apos;s and FK even though it&apos;s a bad practice, but just because it is a bad practice I shouldn&apos;t be unable to work with it.&lt;/p&gt;</description>
                <environment>symfony 1.4.6, windows 7, apache2.2, php5.3.3, mySQL 5.1.49-community</environment>
            <key id="11902">DC-863</key>
            <summary>Connection.UnitOfWork::buildFlushTree when loading data from yml file, Incorrect ordering of tables by their relations</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fuximus">Ochoo</reporter>
                        <labels>
                    </labels>
                <created>Fri, 10 Sep 2010 04:36:44 +0000</created>
                <updated>Wed, 1 Dec 2010 20:31:14 +0000</updated>
                                    <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Connection</component>
                <component>Data Fixtures</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14328" author="fuximus" created="Fri, 10 Sep 2010 20:15:39 +0000"  >&lt;p&gt;found a tiny BUG, submitting the fix.&lt;/p&gt;


&lt;p&gt;EDIT: scratch  the rest from here.&lt;/p&gt;

&lt;p&gt;&amp;lt;!-----------&lt;br/&gt;
still, fixing the bug does not resolve the issue&lt;br/&gt;
BECAUSE:&lt;br/&gt;
   the whole logic of ordering the tables is flawed! it can be proved, don&apos;t have time to do so. but trying to come up with a fix myself&lt;/p&gt;

&lt;p&gt;   instead of looping through the tables and then through each tables&apos; related tables, either have a recursive function OR implement user defined array sort function, latter of which seems like the proper and correct way to go&lt;br/&gt;
--&amp;gt;&lt;/p&gt;

</comment>
                    <comment id="14329" author="fuximus" created="Fri, 10 Sep 2010 20:18:26 +0000"  >&lt;p&gt;unfortunately i&apos;m unable to commit any changes i have made. &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/biggrin.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; just me being a newbie, any help is appreciated&lt;/p&gt;</comment>
                    <comment id="14331" author="fuximus" created="Fri, 10 Sep 2010 20:32:35 +0000"  >&lt;p&gt;on UnitOfWork.php of Doctrine ORM 1.2.3 &lt;br/&gt;
Revision 7684&lt;br/&gt;
right after the line 752:&lt;br/&gt;
          array_splice($flushList, $index, 0, $relatedClassName);&lt;br/&gt;
there should be:&lt;br/&gt;
          $index++;&lt;/p&gt;</comment>
                    <comment id="14863" author="atali" created="Mon, 29 Nov 2010 00:07:38 +0000"  >&lt;p&gt;@Ochoo: Even with your bugfix, it doesn&apos;t seem to work.&lt;/p&gt;</comment>
                    <comment id="14881" author="fuximus" created="Wed, 1 Dec 2010 20:31:14 +0000"  >&lt;p&gt;thanks atali, i haven&apos;t checked it on 1.2.3, just did and you&apos;re right. the &quot;bug fix&quot; worked on 1.2.0 but not on 1.2.3. I&apos;m gonna look into it, at least i&apos;ll try. but this is a bug right?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10782" name="schema.yml" size="6100" author="fuximus" created="Fri, 10 Sep 2010 04:36:44 +0000" />
                    <attachment id="10783" name="test.yml" size="1363" author="fuximus" created="Fri, 10 Sep 2010 04:36:44 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-862] INNER JOIN example is same as previous LEFT JOIN example</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-862</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I was reading the &quot;JOIN syntax&quot; section of the documentation. The docs first talk about how the default join type is LEFT JOIN and an example is presented. Next, INNER JOINS are discussed, but the example is the same left join example used previously. Am I misunderstanding the flow of the document?&lt;/p&gt;</description>
                <environment>&lt;a href=&quot;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/dql-doctrine-query-language/en#join-syntax&quot;&gt;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/dql-doctrine-query-language/en#join-syntax&lt;/a&gt;</environment>
            <key id="11896">DC-862</key>
            <summary>INNER JOIN example is same as previous LEFT JOIN example</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="robertom@sas.upenn.edu">Roberto Mansfield</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Sep 2010 15:55:21 +0000</created>
                <updated>Wed, 8 Sep 2010 15:55:21 +0000</updated>
                                                                    <component>Documentation</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-859] Diff generator doesn&apos;t load models from specified paths</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-859</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Adding simple testcase, I have two version of PHP model, they differ in primary key.&lt;br/&gt;
version 0 has: stateid = Integer (classic id number)&lt;br/&gt;
version 1 has: stateid = char(2) (fixed length)&lt;/p&gt;

&lt;p&gt;After I run Doctrine_Core::generateMigrationsFromDiff, doctrine will load only the integer model and compare it, so no difference is detected and no migration script created.&lt;/p&gt;

&lt;p&gt;I&apos;m attaching simple project where it doesn&apos;t work (adjust please LIBS_DIR definition for your setup).&lt;/p&gt;

&lt;p&gt;From current codepath I would say when YAML is used, the from/to classes get prefixes.&lt;br/&gt;
When php model directories are used, the classes don&apos;t have have prefixes and their names are identical.&lt;br/&gt;
I think this may be one part of problem.&lt;/p&gt;

&lt;p&gt;&lt;del&gt;Trying to generate YAML files instead from php models lead to migration script dropping all tables. (looks like it&apos;s already reported as &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-755&quot; title=&quot;CLONE [DC-558] incorrect handling of MODEL_CLASS_PREFIX causes Doctrine_Migration_Diff to drop the whole database when working from YAML (Regression)&quot;&gt;DC-755&lt;/a&gt;)&lt;/del&gt;&lt;br/&gt;
&lt;em&gt;I did call both yaml generation and diff tool in the same script, which doesn&apos;t work. When I generate schema in other script and call diff tool on schemas later, it works.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Please, I&apos;m willing to work on fix, but give me some ideas what should I try. (I thought about adding prefixes into php model files after they are copied into temp directory (to simulate YAML behavior), or bend the loading of models later, but I&apos;m not sure the rest of code would cope with such fix, or there&apos;s more to do.&lt;/p&gt;</description>
                <environment>WinXP, PHP 5.3.3</environment>
            <key id="11887">DC-859</key>
            <summary>Diff generator doesn&apos;t load models from specified paths</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ped">Peter Helcmanovsky</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Sep 2010 10:50:54 +0000</created>
                <updated>Wed, 8 Sep 2010 07:21:42 +0000</updated>
                                    <version>1.2.2</version>
                <version>1.2.3</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14284" author="ped" created="Mon, 6 Sep 2010 10:53:16 +0000"  >&lt;p&gt;Another potentional fix is to not copy model files into temp dir, but generate YAML from them, and then generate prefixed models trough YAML code path.&lt;br/&gt;
Doesn&apos;t sound effective, but as long as YAML path will be fixed, it may work?&lt;/p&gt;</comment>
                    <comment id="14306" author="ped" created="Wed, 8 Sep 2010 07:21:28 +0000"  >&lt;p&gt;One more idea for how it can be done ( ? ):&lt;br/&gt;
to create temporary php script in temp dir together with &lt;em&gt;from&lt;/em&gt; model files, run it, let it generate $fromInfo data, serialize them on disk, do the same with &lt;em&gt;to&lt;/em&gt; models and get another serialized data, then load those files into $fromInfo and $toInfo and do the actual diffing.&lt;/p&gt;

&lt;p&gt;The point is that by running the small temporary script in new process it would be able to load model files from disk as classes without prefixing/changing them, create the $info data, and exit, so the newer classes with same name can be loaded again in the another new thread. The diff then has to live with serialized $info data only without loading model classes.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10775" name="Doc1_migration_model_loading_bug.zip" size="2700" author="ped" created="Mon, 6 Sep 2010 10:50:54 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-858] Custom Behaviors/Templates cause autoloader errors</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-858</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When emitting Behaviors from schema files (YAML in our case),&lt;br/&gt;
Doctrine expects a shortened class name of the behavior (e.g. &apos;Timestampable&apos;) instead of the full class name:&lt;br/&gt;
The string &apos;Doctrine_Template_&apos; is automatically prepended and a check (class_exists()) is made.&lt;/p&gt;

&lt;p&gt;This is leading to possible autoloader errors (in our case: Zend autoloader does not find our custom behavior):&lt;/p&gt;


&lt;p&gt;YAML:&lt;/p&gt;

&lt;p&gt;{{&lt;br/&gt;
Person:&lt;br/&gt;
  actAs: &lt;span class=&quot;error&quot;&gt;&amp;#91;SoftDelete, My_Doctrine_Template_CustomBehavior&amp;#93;&lt;/span&gt;&lt;br/&gt;
  ...&lt;br/&gt;
}}&lt;/p&gt;

&lt;p&gt;&apos;SoftDelete&apos; is the short class name of &apos;Doctrine_Template_SoftDelete&apos;.&lt;br/&gt;
&apos;My_Doctrine_Template_CustomBehavior&apos; is the full class name and shall not be prefixed with &apos;Doctrine_Template_&apos;.&lt;/p&gt;


&lt;p&gt;The corresponding section responsible for this bug:&lt;/p&gt;

&lt;p&gt;File: Doctrine/Import/Builder.php&lt;br/&gt;
Lines: 702-704, function emitAssign()&lt;/p&gt;

&lt;p&gt;{{&lt;br/&gt;
if (class_exists(&quot;Doctrine_Template_$name&quot;, true)) &lt;/p&gt;
{
    $classname = &quot;Doctrine_Template_$name&quot;;
}
}}&lt;br/&gt;
&lt;br/&gt;
There is no test whether a full class name is given as $name, so there is no way to add custom behaviors to records without the autoloader checking for a non-existing class and spilling errors/notices.&lt;br/&gt;
With the above YAML schema file it would test for class_exists(&apos;Doctrine_Template_My_Doctrine_Template_CustomBehavior&apos;), which is obviously not existing.&lt;br/&gt;
&lt;br/&gt;
a quick fix could look like this:&lt;br/&gt;
&lt;br/&gt;
{{&lt;br/&gt;
if (strpos($name, &apos;_&apos;) === false // is this a shortened name of an original Doctrine behaviour class?&lt;br/&gt;
            &amp;amp;&amp;amp; class_exists(&quot;Doctrine_Template_$name&quot;, true)) {    $classname = &quot;Doctrine_Template_$name&quot;;}}}

&lt;p&gt;Another alternative (but breaking compatability with existing schema files) would be to &lt;em&gt;always&lt;/em&gt; use full class names instead of fancy short names.&lt;/p&gt;


&lt;p&gt;Interestingly enough, this error is only occuring with Zend autoloader on Windows systems, but can be easily avoided with the fix like suggested above.&lt;/p&gt;</description>
                <environment>Windows Vista/7&lt;br/&gt;
PHP 5.3.1 - 5.3.3&lt;br/&gt;
Zend autoloader&lt;br/&gt;
not occuring under Ubuntu 10.05 / MacOSX</environment>
            <key id="11883">DC-858</key>
            <summary>Custom Behaviors/Templates cause autoloader errors</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="apric">apric</reporter>
                        <labels>
                    </labels>
                <created>Sat, 4 Sep 2010 11:38:30 +0000</created>
                <updated>Sat, 4 Sep 2010 19:09:33 +0000</updated>
                                    <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                                                <component>Behaviors</component>
                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14277" author="jwage" created="Sat, 4 Sep 2010 19:09:33 +0000"  >&lt;p&gt;I believe this is because the Zend autoloader does not fail silently by default. I think it can be configured to check if the file exists and not throw any errors.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-856] Doctrine_Core::getPath() not working when inside phar, due to a bug in php</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-856</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;It seems that there is a bug in php, and realpath doesn&apos;t work when path is inside of phar archive.&lt;br/&gt;
function Doctrine_Core::getPath()&lt;br/&gt;
        if ( ! self::$_path) &lt;/p&gt;
{
          self::$_path = realpath(dirname(__FILE__) . &apos;/..&apos;);
        }

&lt;p&gt;can be easily changed to &lt;br/&gt;
        if ( ! self::$_path) &lt;/p&gt;
{
          self::$_path = dirname(dirname(__FILE__));
        }</description>
                <environment></environment>
            <key id="11877">DC-856</key>
            <summary>Doctrine_Core::getPath() not working when inside phar, due to a bug in php</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mvrhov">Miha Vrhovnik</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Sep 2010 06:36:39 +0000</created>
                <updated>Tue, 4 Jan 2011 06:19:21 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.4</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15105" author="ishtanzar" created="Tue, 4 Jan 2011 06:19:21 +0000"  >&lt;p&gt;&lt;a href=&quot;http://bugs.php.net/bug.php?id=52769&quot; class=&quot;external-link&quot;&gt;http://bugs.php.net/bug.php?id=52769&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-854] having not work as expected and described</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-854</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;    $this-&amp;gt;q1 = Doctrine_Query::create()&lt;br/&gt;
      -&amp;gt;select(&apos;m.questionaire&apos;)&lt;br/&gt;
      -&amp;gt;addSelect(&apos;m.aszero&apos;)&lt;br/&gt;
      -&amp;gt;addSelect(&apos;COUNT(f.id) as bref&apos;)&lt;br/&gt;
      -&amp;gt;from(&apos;machine m&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;m.relations r ON r.machine_id=m.id&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;r.ref f ON f.id=r.ref_id AND f.part_number LIKE &quot;B%&quot;&apos;)&lt;br/&gt;
      -&amp;gt;groupBy(&apos;m.questionaire&apos;)&lt;br/&gt;
      -&amp;gt;having(&apos;bref=0&apos;)&lt;br/&gt;
    ;&lt;br/&gt;
is producing &lt;/p&gt;

&lt;p&gt;&quot;SELECT m.id AS m_&lt;em&gt;id, m.questionaire AS m&lt;/em&gt;&lt;em&gt;questionaire, m.aszero AS m&lt;/em&gt;&lt;em&gt;aszero, COUNT(r2.id) AS r2&lt;/em&gt;_0 FROM machine m LEFT JOIN relation r ON (r.machine_id = m.id) LEFT JOIN ref r2 ON ((r2.id = r.ref_id AND r2.part_number LIKE &quot;B%&quot;)) GROUP BY m.questionaire HAVING bref=0 &quot;&lt;/p&gt;


&lt;p&gt;but it should be &lt;/p&gt;

&lt;p&gt;&quot;SELECT m.id AS m_&lt;em&gt;id, m.questionaire AS m&lt;/em&gt;&lt;em&gt;questionaire, m.aszero AS m&lt;/em&gt;&lt;em&gt;aszero, COUNT(r2.id) AS r2&lt;/em&gt;&lt;em&gt;0 FROM machine m LEFT JOIN relation r ON (r.machine_id = m.id) LEFT JOIN ref r2 ON ((r2.id = r.ref_id AND r2.part_number LIKE &quot;B%&quot;)) GROUP BY m.questionaire HAVING r2&lt;/em&gt;_0=0 &quot;&lt;/p&gt;

&lt;p&gt; &lt;a href=&quot;http://www.doctrine-project.org/docu&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/docu&lt;/a&gt; mentation/manual/1_1/en/dql-doctrine-query-language%3Agroup-by,-having-clauses&lt;/p&gt;

&lt;p&gt;With kind regards&lt;/p&gt;

&lt;p&gt;Petronel&lt;/p&gt;

&lt;p&gt;I use symfony 1.4 and not sure if doctrine is 1...&lt;/p&gt;</description>
                <environment></environment>
            <key id="11871">DC-854</key>
            <summary>having not work as expected and described</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="malutanpetronel">Petronel MALUTAN</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Sep 2010 06:48:13 +0000</created>
                <updated>Thu, 2 Sep 2010 06:48:13 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-850] Error  in Doctrine method execute() </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-850</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In the execute method when doctrine runs a sql query, the process is&lt;br/&gt;
interrupted. The review found that the process is interrupted in the fetch method in class Doctrine::Hidrator::Graph.php&lt;/p&gt;

&lt;p&gt;In the line $stmt-&amp;gt;fetch(Doctrine_Core::FETCH_ASSOC);&lt;/p&gt;

&lt;p&gt;I appreciate the partnership that I can provide.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

</description>
                <environment></environment>
            <key id="11859">DC-850</key>
            <summary>Error  in Doctrine method execute() </summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jeronimo0000">fernando guerrero</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Aug 2010 18:38:10 +0000</created>
                <updated>Tue, 31 Aug 2010 18:41:31 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14205" author="jwage" created="Tue, 31 Aug 2010 18:41:31 +0000"  >&lt;p&gt;Can you provide some more information?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-853] I am using symfony 1.4</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-853</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;   $q1 = Doctrine_Query::create()&lt;br/&gt;
      -&amp;gt;select(&apos;m.questionaire, COUNT(f.id) AS bref&apos;)&lt;br/&gt;
      -&amp;gt;from(&apos;machine m&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;m.relations r ON r.machine_id=m.id&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;r.ref f ON r.ref_id=f.id AND f.part_number LIKE &quot;B%&quot;&apos;)&lt;br/&gt;
      -&amp;gt;groupBy(&apos;m.questionaire&apos;)&lt;br/&gt;
    ;&lt;br/&gt;
    $r1 =  $q1-&amp;gt;execute();&lt;br/&gt;
    $q1q = $q1-&amp;gt;getSqlQuery();&lt;/p&gt;

&lt;p&gt;    $q2 = Doctrine_Query::create()&lt;br/&gt;
      -&amp;gt;select(&apos;m.questionaire, COUNT(f.id) AS nonbref&apos;)&lt;br/&gt;
      -&amp;gt;from(&apos;machine m&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;m.relations r ON r.machine_id=m.id&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;r.ref f ON r.ref_id=f.id AND f.part_number NOT LIKE &quot;B%&quot;&apos;)&lt;br/&gt;
      -&amp;gt;groupBy(&apos;m.questionaire&apos;)&lt;br/&gt;
    ;&lt;br/&gt;
    $r2 =  $q2-&amp;gt;execute();&lt;br/&gt;
    $q2q = $q2-&amp;gt;getSqlQuery();&lt;/p&gt;

&lt;p&gt;    $this-&amp;gt;reports-&amp;gt;setQuery(Doctrine_Query::create()&lt;br/&gt;
    -&amp;gt;select(&apos;&apos;)&lt;br/&gt;
    -&amp;gt;from(&apos;(SQL:&apos;.$q1q.&apos;} q1&apos;)&lt;br/&gt;
    -&amp;gt;leftJoin(&apos;(SQL:&apos;.$q2q.&apos;) q2 ON q1.questionaire=q2questionaire&apos;)&lt;br/&gt;
    );&lt;br/&gt;
    echo $this-&amp;gt;reports-&amp;gt;getQuery()-&amp;gt;getSqlQuery(); die;&lt;/p&gt;


&lt;p&gt;This outputs Couldn&apos;t find class (SQL&lt;/p&gt;

&lt;p&gt;How to use in such a case ?&lt;/p&gt;</description>
                <environment>Symfony 1.4 </environment>
            <key id="11865">DC-853</key>
            <summary>I am using symfony 1.4</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="malutanpetronel">Petronel MALUTAN</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Sep 2010 11:27:20 +0000</created>
                <updated>Thu, 2 Sep 2010 14:58:05 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14226" author="jwage" created="Wed, 1 Sep 2010 14:48:22 +0000"  >&lt;p&gt;What is the SQL: syntax you are using here? That is definitely not something that is &quot;supported&quot;&lt;/p&gt;</comment>
                    <comment id="14230" author="malutanpetronel" created="Thu, 2 Sep 2010 03:39:50 +0000"  >&lt;p&gt;Dear Jonathan&lt;/p&gt;

&lt;p&gt;The example I&apos;ve tried is based on the :&lt;br/&gt;
&lt;a href=&quot;http://www.symfony-project.org/cookbook/1_2/en/retrieving_data_with_doctrine&quot; class=&quot;external-link&quot;&gt;http://www.symfony-project.org/cookbook/1_2/en/retrieving_data_with_doctrine&lt;/a&gt;&lt;br/&gt;
Please find Sub-Queries in this article and see what I mean.&lt;/p&gt;

&lt;p&gt;My problem started from a SQL query created in phpmyadmin, I&apos;ve tried to convert to doctrine. Following is the mysql query which nicely work:&lt;/p&gt;

&lt;p&gt;    select * from (select m1.questionaire, COUNT(f1.id) AS n1_refs&lt;br/&gt;
    from machine AS m1&lt;br/&gt;
    left join relation AS r1 on m1.id=r1.machine_id&lt;br/&gt;
    left join ref AS f1 on f1.id=r1.ref_id and f1.part_number LIKE &apos;B%&apos;&lt;br/&gt;
    group by m1.questionaire) as a1&lt;/p&gt;

&lt;p&gt;    left join&lt;/p&gt;

&lt;p&gt;    (select m2.questionaire, COUNT(f2.id) AS n2_refs&lt;br/&gt;
    from machine AS m2&lt;br/&gt;
    left join relation AS r2 on m2.id=r2.machine_id&lt;br/&gt;
    left join ref AS f2 on f2.id=r2.ref_id and f2.part_number not LIKE &apos;B%&apos;&lt;br/&gt;
    group by m2.questionaire) as a2&lt;br/&gt;
    on a1.questionaire=a2.questionaire&lt;/p&gt;

&lt;p&gt;and my trying was to create 2 easier DQL queries and than join them:&lt;/p&gt;

&lt;p&gt;     $this-&amp;gt;q = Doctrine_Query::create()&lt;br/&gt;
      -&amp;gt;select(&apos;&apos;)&lt;br/&gt;
      ;&lt;/p&gt;

&lt;p&gt;    $this-&amp;gt;q1 = $this-&amp;gt;q-&amp;gt;createSubquery()&lt;br/&gt;
      -&amp;gt;select(&apos;m.questionaire, m.aszero, COUNT(f.id) AS bref&apos;)&lt;br/&gt;
      -&amp;gt;from(&apos;machine m&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;m.relations r ON r.machine_id=m.id&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;r.ref f ON f.id=r.ref_id AND f.part_number LIKE &quot;B%&quot;&apos;)&lt;br/&gt;
      -&amp;gt;groupBy(&apos;m.questionaire&apos;)&lt;br/&gt;
    ;&lt;br/&gt;
    //$r1 = $q1-&amp;gt;fetchArray();&lt;br/&gt;
    //$this-&amp;gt;r1=$this-&amp;gt;q1-&amp;gt;execute(array(),Doctrine_Core::HYDRATE_RECORD);&lt;/p&gt;

&lt;p&gt;    $this-&amp;gt;q2 = $this-&amp;gt;q-&amp;gt;createSubquery()&lt;br/&gt;
      -&amp;gt;select(&apos;m.questionaire, m.aszero, COUNT(f.id) AS nonbref&apos;)&lt;br/&gt;
      -&amp;gt;from(&apos;machine m&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;m.relations r ON r.machine_id=m.id&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;r.ref f ON f.id=r.ref_id AND f.part_number NOT LIKE &quot;B%&quot;&apos;)&lt;br/&gt;
      -&amp;gt;groupBy(&apos;m.questionaire&apos;)&lt;br/&gt;
    ;&lt;br/&gt;
    //$this-&amp;gt;r2=$this-&amp;gt;q2-&amp;gt;execute(array(),Doctrine_Core::HYDRATE_RECORD);&lt;/p&gt;


&lt;p&gt;    $this-&amp;gt;q-&amp;gt;from($this-&amp;gt;q1-&amp;gt;getDql() . &apos; q1)&apos;)&lt;br/&gt;
    &lt;del&gt;&amp;gt;leftJoin($this&lt;/del&gt;&amp;gt;q2-&amp;gt;getDql() . &apos; q2 ON q1.questionaire=q2questionaire&apos;);&lt;/p&gt;

&lt;p&gt;    echo $this-&amp;gt;q-&amp;gt;getSqlQuery(); die;&lt;/p&gt;

&lt;p&gt;This is outputting :&lt;/p&gt;

&lt;p&gt;500 | Internal Server Error | Doctrine_Exception&lt;br/&gt;
Couldn&apos;t find class SELECT&lt;/p&gt;

&lt;p&gt;so please tell me is it now more clear and make some sense ?&lt;br/&gt;
How to make it work ?&lt;/p&gt;

&lt;p&gt;With kind regards&lt;/p&gt;

&lt;p&gt;Petronel&lt;/p&gt;</comment>
                    <comment id="14242" author="jwage" created="Thu, 2 Sep 2010 14:58:05 +0000"  >&lt;p&gt;Can you make a test case that I can run on my machine to see the problem?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-849] Error Generate Schema.yml Database Oracle</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-849</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Some deleted records are genereated by the Oracle driver, the following patch solves the problem, found with .... alexia.velasquez@hotmail.es, vtamara@pasosdeJesus.org, jeronimo0000@gmail.com&lt;/p&gt;

&lt;p&gt;&amp;#8212; Doctrine/Import/Oracle.php.orig     2010-08-31 11:01:10.934142453 -0500&lt;br/&gt;
+++ Doctrine/Import/Oracle.php  2010-08-31 11:01:35.778661707 -0500&lt;br/&gt;
@@ -118,7 +118,7 @@&lt;br/&gt;
 SELECT tc.column_name, data_type,&lt;br/&gt;
 CASE WHEN data_type = &apos;NUMBER&apos; THEN data_precision ELSE data_length END AS data_length,&lt;br/&gt;
 nullable, data_default, data_scale, data_precision, pk.primary&lt;br/&gt;
-FROM all_tab_columns tc&lt;br/&gt;
+FROM user_tab_columns tc&lt;br/&gt;
 LEFT JOIN (&lt;br/&gt;
  select &apos;primary&apos; primary, cc.table_name, cc.column_name from all_constraints cons&lt;br/&gt;
  join all_cons_columns cc on cons.constraint_name = cc.constraint_name&lt;br/&gt;
@@ -252,4 +252,4 @@&lt;br/&gt;
         $query = &apos;SELECT view_name FROM sys.user_views&apos;;&lt;br/&gt;
         return $this-&amp;gt;conn-&amp;gt;fetchColumn($query);&lt;br/&gt;
     }&lt;br/&gt;
-}&lt;br/&gt;
\ No hay ning&#250;n car&#225;cter de nueva l&#237;nea al final del fichero&lt;br/&gt;
+}&lt;/p&gt;</description>
                <environment>Ubuntu 10.4, Oracle</environment>
            <key id="11858">DC-849</key>
            <summary>Error Generate Schema.yml Database Oracle</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jeronimo0000">fernando guerrero</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Aug 2010 18:24:01 +0000</created>
                <updated>Tue, 31 Aug 2010 18:40:58 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14204" author="jwage" created="Tue, 31 Aug 2010 18:40:58 +0000"  >&lt;p&gt;Hi, the formatting is a bit unreadable. Can you fork &lt;a href=&quot;http://github.com/doctrine/doctrine1&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/doctrine1&lt;/a&gt; and send a pull request?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-847] Can not set a default value of &apos;CURRENT_TIMESTAMP&apos; in a  table definition for mysql</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-847</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;I recently I discovered that I needed o put a default value of &apos;CURRENT_TIMESTAMP&apos; on some of my fields. This was breaking the build of my mysql base for 2 different reasons &amp;#8211; for one columns with a type of timestamp were being switched instead to have a type of datetime, and for two the words: CURRENT_TIMESTAMP were being quote encapsulated in the create table statement.&lt;/p&gt;

&lt;p&gt;I looked around a bit and couldn&apos;t find a solution so I made a patch to fix the issue. This patch however broke some test cases that were expecting datetimes to be returned instead of timestamps (so i fixed the tests).&lt;/p&gt;

&lt;p&gt;I may be breaking something that I am not aware of by doing this, or perhaps there was another solution to the problem that I could not find &amp;#8211; if any one has any input on this I would appreciate it.&lt;/p&gt;

&lt;p&gt;I will post my patch in this thread but it is worth mention that it contains several bug fixes and a few new features which I have posted in other threads several months ago but never heard back regarding (most notably, beyond bug fixes it introduces a new hydration type and allows the disabling of the some times useful some times problematic limit subquery feature of doctrine).&lt;/p&gt;

&lt;p&gt;Thanks to all who have any input.&lt;/p&gt;

&lt;p&gt;Will Ferrer&lt;/p&gt;</description>
                <environment>XAMP Windows</environment>
            <key id="11853">DC-847</key>
            <summary>Can not set a default value of &apos;CURRENT_TIMESTAMP&apos; in a  table definition for mysql</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="willf1976">will ferrer</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Aug 2010 04:03:46 +0000</created>
                <updated>Sat, 25 Sep 2010 04:38:14 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14191" author="willf1976" created="Tue, 31 Aug 2010 05:44:58 +0000"  >&lt;p&gt;Here is the patch&lt;/p&gt;</comment>
                    <comment id="14211" author="willf1976" created="Wed, 1 Sep 2010 05:30:50 +0000"  >&lt;p&gt;Found a small error in my last patch (some debug code I hadn&apos;t removed) and added some more comments (links to jira above each change) to clarify the fixes and new features the patch has in it.&lt;/p&gt;</comment>
                    <comment id="14229" author="willf1976" created="Wed, 1 Sep 2010 19:24:44 +0000"  >&lt;p&gt;individual patch for this issue with out other features included&lt;/p&gt;</comment>
                    <comment id="14240" author="jwage" created="Thu, 2 Sep 2010 14:43:53 +0000"  >&lt;p&gt;Hi, this one breaks the tests and backwards compatibility. Previously if you have a timestamp field in Doctrine, it would create a datetime column in mysql. Now it is creating a timestamp column. I don&apos;t think we can make this change in a stable version.&lt;/p&gt;</comment>
                    <comment id="14241" author="jwage" created="Thu, 2 Sep 2010 14:44:38 +0000"  >&lt;p&gt;At any rate, it is breaking the tests still. If we do decide to make the change, can you run all the tests and fix any of the other failures?&lt;/p&gt;</comment>
                    <comment id="14249" author="willf1976" created="Thu, 2 Sep 2010 19:16:32 +0000"  >&lt;p&gt;Hi Jon&lt;/p&gt;

&lt;p&gt;I added more test case fixes to the patch. I can see how this would still cause backwards compatibility issues though &amp;#8211; any one who built their db using the none patched version of doctrine would end up with different field types if they rebuilt using the patched version and this could affect the functionality of their existing code.&lt;/p&gt;

&lt;p&gt;Thanks for the help &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;.&lt;/p&gt;

&lt;p&gt;Hope you are well.&lt;/p&gt;

&lt;p&gt;Will&lt;/p&gt;</comment>
                    <comment id="14258" author="jwage" created="Fri, 3 Sep 2010 11:53:07 +0000"  >&lt;p&gt;Can you think of anyway it could be tweaked so that it is BC?&lt;/p&gt;</comment>
                    <comment id="14269" author="willf1976" created="Fri, 3 Sep 2010 20:32:34 +0000"  >&lt;p&gt;Good question... &lt;/p&gt;

&lt;p&gt;Here is an idea &amp;#8211; how about I put a flag in the options for the field that changes the behavior. So if some one wants to use real timestamps instead of datetime fields they could set an option of: &quot;useRealTimestamps : true&quot; on the field.&lt;/p&gt;

&lt;p&gt;I think that would be a good solution because by default everything would work as does is now (providing BC) but users could switch it over if they required the additional functionality that timestamps provide.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

&lt;p&gt;Will&lt;/p&gt;</comment>
                    <comment id="14342" author="willf1976" created="Sat, 11 Sep 2010 19:12:48 +0000"  >&lt;p&gt;Hi Jon&lt;/p&gt;

&lt;p&gt;Here is a backwards compatible patch using the method I proposed in my last comment.&lt;/p&gt;

&lt;p&gt;To make a timestamp field use a type of timestamp (instead of datatime) include an option of: userealtimestamp=&amp;gt;true&lt;/p&gt;

&lt;p&gt;Let me know if you think this method will work out.&lt;/p&gt;

&lt;p&gt;Hope you are well.&lt;/p&gt;

&lt;p&gt;Will&lt;/p&gt;</comment>
                    <comment id="14462" author="willf1976" created="Sat, 25 Sep 2010 04:38:00 +0000"  >&lt;p&gt;I found some issues with this patch when I moved it off my local machine our production server &amp;#8211; there was a case sensitivity issue that I have since resolved. Here is the fixed version.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10769" name="DC_847_fix.patch" size="5141" author="willf1976" created="Thu, 2 Sep 2010 19:16:32 +0000" />
                    <attachment id="10790" name="DC_847_fix_BC.patch" size="4744" author="willf1976" created="Sat, 11 Sep 2010 19:12:48 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-845] One of our Foreign Keys is not being inserted/passed</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-845</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;We are working on a symfony/doctrine project and have come to a near halt on development.&lt;/p&gt;

&lt;p&gt;We feel that now, it may be a bug/feature in doctrine, regarding foreign keys&lt;/p&gt;

&lt;p&gt;Part of our model includes a join table that references three different table. Below is a diagram of what the model looks like, and the relevant portion of our schema.yml is at the bottom.&lt;/p&gt;

&lt;p&gt;Image of our schema: &lt;a href=&quot;http://imgur.com/dfFYI.png&quot; class=&quot;external-link&quot;&gt;http://imgur.com/dfFYI.png&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have a form that contains a set of embedded forms that attempt to create a new Person entry and add rows to the join table, adding items to the PersonName table as needed.&lt;/p&gt;

&lt;p&gt;The form attempts to do this by creating and saving PersonName objects with NameType parameters, but are running into the problem of Doctrine not including that column when trying to do an insert into the join table.&lt;/p&gt;

&lt;p&gt;Part of the problem seems to be caused by the Doctrine_Connection_UnitOfWork::saveAssociations method:&lt;/p&gt;

&lt;p&gt;                foreach ($v-&amp;gt;getInsertDiff() as $r) &lt;/p&gt;
{
                    $assocRecord = $assocTable-&amp;gt;create();
                    $assocRecord-&amp;gt;set($assocTable-&amp;gt;getFieldName($rel-&amp;gt;getForeign()), $r);
                    $assocRecord-&amp;gt;set($assocTable-&amp;gt;getFieldName($rel-&amp;gt;getLocal()), $record);
                    $this-&amp;gt;saveGraph($assocRecord);
                }

&lt;p&gt;Are we correct in understanding that this means that Doctrine 1.2 does not support tables with multiple foreign keys in this scenario?&lt;/p&gt;


&lt;p&gt;Here is the relevant portion of schema.yml:&lt;/p&gt;

&lt;p&gt;agPerson: &lt;br/&gt;
  columns: &lt;br/&gt;
    id: &lt;br/&gt;
      primary: true &lt;br/&gt;
      type: integer(5) &lt;br/&gt;
      autoincrement: true &lt;br/&gt;
  relations: &lt;br/&gt;
    agPersonName: &lt;br/&gt;
      class: agPersonName &lt;br/&gt;
      refClass: agPersonMjAgPersonName &lt;br/&gt;
      local: person_id &lt;br/&gt;
      foreign: person_name_id &lt;br/&gt;
    agPersonNameType: &lt;br/&gt;
      class: agPersonNameType &lt;br/&gt;
      refClass: agPersonMjAgPersonName &lt;br/&gt;
      local: person_id &lt;br/&gt;
      foreign: person_name_type_id &lt;br/&gt;
agPersonNameType: &lt;br/&gt;
  columns: &lt;br/&gt;
    id: &lt;br/&gt;
      primary: true &lt;br/&gt;
      type: integer(2) &lt;br/&gt;
      autoincrement: true &lt;br/&gt;
    person_name_type: &lt;br/&gt;
      unique: true &lt;br/&gt;
      type: string(30) &lt;br/&gt;
      notnull: true &lt;br/&gt;
    app_display: &lt;br/&gt;
      default: 1 &lt;br/&gt;
      type: boolean &lt;br/&gt;
      notnull: true &lt;br/&gt;
  relations: &lt;br/&gt;
    agPerson: &lt;br/&gt;
      class: agPerson &lt;br/&gt;
      refClass: agPersonMjAgPersonName &lt;br/&gt;
      local: person_name_type_id &lt;br/&gt;
      foreign: person_id &lt;br/&gt;
    agPersonName: &lt;br/&gt;
      class: agPersonName &lt;br/&gt;
      refClass: agPersonMjAgPersonName &lt;br/&gt;
      local: person_name_type_id &lt;br/&gt;
      foreign: person_name_id &lt;br/&gt;
agPersonName: &lt;br/&gt;
  columns: &lt;br/&gt;
    id: &lt;br/&gt;
      primary: true &lt;br/&gt;
      type: integer(5) &lt;br/&gt;
      autoincrement: true &lt;br/&gt;
    person_name: &lt;br/&gt;
      unique: true &lt;br/&gt;
      type: string(64) &lt;br/&gt;
      notnull: true &lt;br/&gt;
  relations: &lt;br/&gt;
    agPerson: &lt;br/&gt;
      class: agPerson &lt;br/&gt;
      refClass: agPersonMjAgPersonName &lt;br/&gt;
      local: person_name_id &lt;br/&gt;
      foreign: person_id &lt;br/&gt;
    agPersonNameType: &lt;br/&gt;
      class: agPersonNameType &lt;br/&gt;
      refClass: agPersonMjAgPersonName &lt;br/&gt;
      local: person_name_id &lt;br/&gt;
      foreign: person_name_type_id &lt;br/&gt;
agPersonMjAgPersonName: &lt;br/&gt;
  columns: &lt;br/&gt;
    id: &lt;br/&gt;
      primary: true &lt;br/&gt;
      type: integer(5) &lt;br/&gt;
      autoincrement: true &lt;br/&gt;
    person_id: &lt;br/&gt;
      type: integer(5) &lt;br/&gt;
      notnull: true &lt;br/&gt;
    person_name_id: &lt;br/&gt;
      type: integer(5) &lt;br/&gt;
      notnull: true &lt;br/&gt;
    person_name_type_id: &lt;br/&gt;
      type: integer(2) &lt;br/&gt;
      notnull: true &lt;br/&gt;
    is_primary: &lt;br/&gt;
      type: boolean &lt;br/&gt;
      notnull: true &lt;br/&gt;
  indexes: &lt;br/&gt;
    UX_ag_person_mj_ag_person_name: &lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;person_name_id, person_name_type_id, person_id&amp;#93;&lt;/span&gt; &lt;br/&gt;
      type: unique &lt;br/&gt;
  relations: &lt;br/&gt;
    agPerson: &lt;br/&gt;
      local: person_id &lt;br/&gt;
      foreign: id &lt;br/&gt;
    agPersonName: &lt;br/&gt;
      local: person_name_id &lt;br/&gt;
      foreign: id &lt;br/&gt;
    agPersonNameType: &lt;br/&gt;
      local: person_name_type_id &lt;br/&gt;
      foreign: id &lt;br/&gt;
actAs: &lt;br/&gt;
  Timestampable: &lt;/p&gt;



&lt;p&gt;As a caveat: we&apos;ve noticed that sfdoctrineguard group table, has such a relationship:&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; describe sf_guard_user_group;&lt;br/&gt;
&lt;ins&gt;-----------&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;--------&lt;del&gt;&lt;ins&gt;&lt;/del&gt;----&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;---&lt;del&gt;&lt;ins&gt;&lt;/del&gt;-------&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; Field      &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; Type     &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; Null &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; Key &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; Default &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; Extra &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;-----------&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;--------&lt;del&gt;&lt;ins&gt;&lt;/del&gt;----&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;---&lt;del&gt;&lt;ins&gt;&lt;/del&gt;-------&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; user_id    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; int(11)  &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; NO   &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; PRI &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; 0       &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; group_id   &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; int(11)  &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; NO   &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; PRI &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; 0       &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; created_at &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; datetime &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; NO   &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; NULL    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; updated_at &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; datetime &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; NO   &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; NULL    &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;-----------&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;--------&lt;del&gt;&lt;ins&gt;&lt;/del&gt;----&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;---&lt;del&gt;&lt;ins&gt;&lt;/del&gt;-------&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;


&lt;p&gt;i.e. IT has two foreign keys taken into account&lt;/p&gt;</description>
                <environment>Linux ubuntu 2.6.31-22-generic #63-Ubuntu SMP Thu Aug 19 00:23:50 UTC 2010 x86_64 GNU/Linux&lt;br/&gt;
PHP 5.2.10-2ubuntu6.4 with Suhosin-Patch 0.9.7 (cli) (built: Jan  6 2010 22:56:44) &lt;br/&gt;
mysql  Ver 14.14 Distrib 5.1.37, for debian-linux-gnu (x86_64) using  EditLine wrapper</environment>
            <key id="11840">DC-845</key>
            <summary>One of our Foreign Keys is not being inserted/passed</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="zelaz">charles wisniewski</reporter>
                        <labels>
                    </labels>
                <created>Fri, 27 Aug 2010 12:06:42 +0000</created>
                <updated>Fri, 27 Aug 2010 12:06:42 +0000</updated>
                                    <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                                                <component>Record</component>
                <component>Relations</component>
                <component>Transactions</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-844] DataDict for MySQL excludes the possibility to have an actual floating point column</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-844</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Extracted from Doctrine/DataDict/Mysql.php:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;Mysql.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; &apos;&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;&apos;:
                $length = !empty($field[&apos;length&apos;]) ? $field[&apos;length&apos;] : 18;
                $scale = !empty($field[&apos;scale&apos;]) ? $field[&apos;scale&apos;] : $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;conn-&amp;gt;getAttribute(Doctrine_Core::ATTR_DECIMAL_PLACES);
                &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &apos;FLOAT(&apos;.$length.&apos;, &apos;.$scale.&apos;)&apos;;
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; &apos;&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;&apos;:
                $length = !empty($field[&apos;length&apos;]) ? $field[&apos;length&apos;] : 18;
                $scale = !empty($field[&apos;scale&apos;]) ? $field[&apos;scale&apos;] : $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;conn-&amp;gt;getAttribute(Doctrine_Core::ATTR_DECIMAL_PLACES);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;If the user does not specify length and decimal places, MySQL creates a floating point number. However Doctrine behavior forces FLOATs and DOUBLEs to be fixed-width.&lt;/p&gt;</description>
                <environment>Not environment dependent</environment>
            <key id="11835">DC-844</key>
            <summary>DataDict for MySQL excludes the possibility to have an actual floating point column</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rgonzalez">Roberto Gonz&#225;lez</reporter>
                        <labels>
                    </labels>
                <created>Fri, 27 Aug 2010 05:46:47 +0000</created>
                <updated>Fri, 27 Aug 2010 05:46:47 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1020] In the Timestampable Listener, the &apos;alias&apos; behavior option is not used when determining the database fieldname</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1020</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I noticed this issue after setting up timestampable behavior on an aliased column in a legacy table:&lt;/p&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
&amp;lt;?php

&lt;span class=&quot;code-keyword&quot;&gt;abstract&lt;/span&gt; class Content_Article &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{

  &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
  {
    $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;setTableName(&apos;t_content&apos;);
    
    $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;id&apos;, &apos;integer&apos;, 11, array(&apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, &apos;autoincrement&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
    &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;    $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;datePost as posted_at&apos;, &apos;timestamp&apos;);
    $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;dateEdit as updated_at&apos;, &apos;timestamp&apos;);
    &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;    
  }
  
  &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
  { 
    &lt;span class=&quot;code-comment&quot;&gt;// ..
&lt;/span&gt;    $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;actAs(&apos;Timestampable&apos;, array(&apos;created&apos; =&amp;gt; array( &apos;name&apos; =&amp;gt; &apos;datePost&apos;,
                                                            &apos;alias&apos; =&amp;gt; &apos;posted_at&apos;),
                                        &apos;updated&apos; =&amp;gt; array( &apos;name&apos; =&amp;gt; &apos;dateEdit&apos;,
                                                            &apos;alias&apos; =&amp;gt; &apos;updated_at&apos;)));
  }

}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Before I added timestampable to this model, I was setting the timestamp fields manually, which worked fine.&lt;/p&gt;

&lt;p&gt;I had to look at the source to find the alias option in the timestampable behavior, since it does not appear to be in the 1.2 documentation. (If this issue is invalid because it&apos;s not an officially supported option, I apologize).&lt;/p&gt;

&lt;p&gt;After I added timestampable to the model, Doctrine began throwing an exception when I tried to save a new record:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Error: Doctrine_Record_UnknownPropertyException [ 0 ]: Unknown record property / related component &quot;datePost&quot; on &quot;Content_Article&quot; ~ &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;/Doctrine-1.2.4/Doctrine/Record/Filter/Standard.php&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;It appears that the alias option is used when setting the table definition in the behavior template, but not used by the template&apos;s listener when creating, updating, etc.&lt;/p&gt;

&lt;p&gt;I&apos;m attaching a zip with a copy of the changes I made to fix this in 1.2.4 and a git patch.&lt;/p&gt;</description>
                <environment>PHP 5.3.5, MySQL 5.5.9; as well as PHP 5.3.6, MySQL 5.0.92</environment>
            <key id="12834">DC-1020</key>
            <summary>In the Timestampable Listener, the &apos;alias&apos; behavior option is not used when determining the database fieldname</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="wam">Will Mitchell</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Jul 2011 05:41:26 +0000</created>
                <updated>Tue, 19 Jul 2011 05:41:26 +0000</updated>
                                    <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Timestampable</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11030" name="Doctrine_Timestampable_Alias.zip" size="6474" author="wam" created="Tue, 19 Jul 2011 05:41:26 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1014] Geographical behaviour generates wrong INSERT statement in PostgreSQL if latitude/logitude not specified</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1014</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Added &quot;Geographical&quot; behaviour to an entity:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
ZipCode:
  actAs: [Geographical]
  columns:
    code: string
    [...]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Using the standard Symfony-generated admin manager, when trying to insert a new record without specifying both &lt;b&gt;latitude&lt;/b&gt; and &lt;b&gt;longitude&lt;/b&gt;, Doctrine generates a wrong INSERT statement for PostgreSQL, including  &lt;b&gt;latitude&lt;/b&gt; and &lt;b&gt;longitude&lt;/b&gt; as &lt;b&gt;&apos;&apos;&lt;/b&gt; (empty string)&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
Doctrine_Connection-&amp;gt;exec(&apos;INSERT INTO zip_code (hidden, code,  country_id, latitude, longitude) VALUES (?, ?, ?, ?, ?)&apos;, array(&apos;false&apos;, &apos;20133&apos;, &apos;1&apos;, &apos;&apos;, &apos;&apos;))
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;This cause this error:&lt;br/&gt;
&lt;b&gt;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;22P02&amp;#93;&lt;/span&gt;: Invalid text representation: 7 ERROR: invalid input syntax for type double precision: &quot;&quot;&lt;/b&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Workaround&quot;&gt;&lt;/a&gt;Workaround&lt;/h3&gt;
&lt;p&gt; explicitly specifying &lt;b&gt;float&lt;/b&gt; type for latitude and longitude...&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
  actAs: 
    Geographical:
      latitude: {type: float}
      longitude: {type: float}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;...still generate the column correctly as &lt;b&gt;double precision&lt;/b&gt; in the database, but will not cause any error on inserting records.&lt;/p&gt;</description>
                <environment>Symphony 1.4, PostgreSQL 8.4.8</environment>
            <key id="12768">DC-1014</key>
            <summary>Geographical behaviour generates wrong INSERT statement in PostgreSQL if latitude/logitude not specified</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="nicus">Lorenzo Nicora</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 09:52:36 +0000</created>
                <updated>Fri, 1 Jul 2011 09:52:36 +0000</updated>
                                                                    <component>Geographical</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1011] wierd behaviour with setTableName - table name doesn&apos;t get set</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1011</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;if i create class called Attribute_set that extends Doctrine_Record and setTableName in setUpTableDefinintion like in documentation setting up models section, the table name appears not to be set&lt;br/&gt;
getTableName returns &quot;doctrine_&lt;em&gt;record&lt;/em&gt;_abstract&quot;&lt;/p&gt;

&lt;p&gt;any joins or relations fail.&lt;/p&gt;

&lt;p&gt;if i set it in the setUp function the setTableName appear working and returns &quot;attribute_sets&quot; table name. This only happens with this particular class, and relations have no effect.&lt;/p&gt;

&lt;p&gt;I attached class example i&apos;m expiriencing problems with, that should help reproducte this issue&lt;/p&gt;</description>
                <environment>Linux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686 GNU/Linux&lt;br/&gt;
PHP 5.3.3-1ubuntu9.5</environment>
            <key id="12758">DC-1011</key>
            <summary>wierd behaviour with setTableName - table name doesn&apos;t get set</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="gamesh">Justinas</reporter>
                        <labels>
                    </labels>
                <created>Tue, 28 Jun 2011 08:58:55 +0000</created>
                <updated>Tue, 28 Jun 2011 13:03:34 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16087" author="gamesh" created="Tue, 28 Jun 2011 09:56:07 +0000"  >&lt;p&gt;fixed misstype and it appears that it was not the problem, i get the same:&lt;/p&gt;

&lt;p&gt;Base table or view not found: 1146 Table &apos;db.doctrine_&lt;em&gt;record&lt;/em&gt;_abstract&apos; doesn&apos;t exist&lt;/p&gt;

&lt;p&gt;maybe attribute_set is somekind reserved word in doctrine library ?&lt;/p&gt;</comment>
                    <comment id="16089" author="gamesh" created="Tue, 28 Jun 2011 13:03:34 +0000"  >&lt;p&gt;the problem appears to come from Doctrine Formatter&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11018" name="attribute_set.php" size="750" author="gamesh" created="Tue, 28 Jun 2011 09:56:40 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1013] [PATCH] Doctrine ignores unique option for integers (PostgreSQL)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1013</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;This issue is exactly the same as &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-252&quot; title=&quot;Doctrine ignores UNIQUE:true on int&quot;&gt;&lt;del&gt;DC-252&lt;/del&gt;&lt;/a&gt;, but refers to  PostgreSQL&lt;/p&gt;</description>
                <environment></environment>
            <key id="12761">DC-1013</key>
            <summary>[PATCH] Doctrine ignores unique option for integers (PostgreSQL)</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rybakit">Eugene Leonovich</reporter>
                        <labels>
                    </labels>
                <created>Wed, 29 Jun 2011 11:42:21 +0000</created>
                <updated>Thu, 18 Aug 2011 08:05:21 +0000</updated>
                                                                    <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="16349" author="m" created="Thu, 18 Aug 2011 08:05:21 +0000"  >&lt;p&gt;Your patch fixed the problem for me. Thanks!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11019" name="integer_unique.patch" size="832" author="rybakit" created="Wed, 29 Jun 2011 11:42:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1004] ATTR_TBLNAME_FORMAT not used when creating models from database</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1004</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;if you set prefix to &quot;xyz_%s&quot; and have the model &quot;BackgroundColor&quot; it will become the table =&amp;gt; &quot;xyz_background_color&quot;&lt;br/&gt;
if you have the table &quot;xyz_background_color&quot; with unknown model and create the the model from the table, you will get =&amp;gt; &quot;XyzBackgroundColor&quot;.&lt;/p&gt;

&lt;p&gt;The fix (diff):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;368a369,370&lt;br/&gt;
&amp;gt;         $tablePrefix = $manager-&amp;gt;getAttribute(Doctrine_Core::ATTR_TBLNAME_FORMAT);&lt;br/&gt;
&amp;gt;         &lt;br/&gt;
381d382&lt;br/&gt;
&amp;lt; &lt;br/&gt;
385c386&lt;br/&gt;
&amp;lt;               $definition&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;className&amp;#39;&amp;#93;&lt;/span&gt; = Doctrine_Inflector::classify(Doctrine_Inflector::tableize($table));&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
&amp;gt;               $definition&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;className&amp;#39;&amp;#93;&lt;/span&gt; = Doctrine_Inflector::classify(Doctrine_Inflector::tableize(preg_replace(sprintf(&apos;/\A%s\z/&apos;, str_replace(&apos;%s&apos;, &apos;(.*?)&apos;, $tablePrefix)), &apos;$1&apos;, $table)));&lt;br/&gt;
396c397&lt;br/&gt;
&amp;lt;                       $class = Doctrine_Inflector::classify(Doctrine_Inflector::tableize($table));&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
&amp;gt;                       $class = Doctrine_Inflector::classify(Doctrine_Inflector::tableize(preg_replace(sprintf(&apos;/\A%s\z/&apos;, str_replace(&apos;%s&apos;, &apos;(.*?)&apos;, $tablePrefix)), &apos;$1&apos;, $table)));&lt;/p&gt;&lt;/blockquote&gt;</description>
                <environment></environment>
            <key id="12621">DC-1004</key>
            <summary>ATTR_TBLNAME_FORMAT not used when creating models from database</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="to-rparker">Robin Parker</reporter>
                        <labels>
                    </labels>
                <created>Sun, 8 May 2011 04:34:20 +0000</created>
                <updated>Sun, 8 May 2011 04:34:52 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.3</fixVersion>
                <fixVersion>1.2.4</fixVersion>
                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15814" author="to-rparker" created="Sun, 8 May 2011 04:34:52 +0000"  >&lt;p&gt;The diff output as .diff&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10990" name="doctrine_bug_diff.diff" size="746" author="to-rparker" created="Sun, 8 May 2011 04:34:52 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1002] Typos in filename and php tags</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1002</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Two typos in Doctrine files prevents usage of symfony core_compile.yml system, or any similar compiler system :&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;According to its class name, &quot;Doctrine_Validator_HtmlColor&quot;, the file &quot;Doctrine/Validator/Htmlcolor.php&quot;, should be named &quot;HtmlColor.php&quot; (note the uppercase &quot;C&quot; of &quot;Color&quot;)&lt;/li&gt;
	&lt;li&gt;The php tag of the file &quot;Doctrine/Locking/Exception.php&quot; is uppercased. It should be &quot;&amp;lt;?php&quot; instead of &quot;&amp;lt;?PHP&quot;&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="12610">DC-1002</key>
            <summary>Typos in filename and php tags</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="nervo">nervo</reporter>
                        <labels>
                    </labels>
                <created>Mon, 2 May 2011 22:35:32 +0000</created>
                <updated>Mon, 2 May 2011 22:35:32 +0000</updated>
                                    <version>1.2.4</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-998] MySQL Driver possibly subject to sql injections with PDO::quote()</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-998</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Prior to 5.3.6, the MySQL PDO driver ignored the character set parameter to options. Due to MySQL&apos;s C api (and MySQLND), this is required for the proper function of mysql_real_escape_string() (the C API call). Since PDO uses the mres() C call for PDO::quote(), this means that the quoted string does not take into account the connection character set.&lt;/p&gt;

&lt;p&gt;Starting with 5.3.6, that was fixed. So now if you pass the proper character set to PDO via driver options, sql injection is impossible while using the PDO::quote() api call.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;PDO proof of concept&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$dsn = &apos;mysql:dbname=INFORMATION_SCHEMA;host=127.0.0.1;charset=GBK;&apos;;
$pdo = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; PDO($dsn, $user, $pass);
$pdo-&amp;gt;exec(&apos;SET NAMES GBK&apos;);
$string = chr(0xbf) . chr(0x27) . &apos; OR 1 = 1; /*&apos;;
$sql = &quot;SELECT TABLE_NAME
            FROM INFORMATION_SCHEMA.TABLES
            WHERE TABLE_NAME LIKE &lt;span class=&quot;code-quote&quot;&gt;&quot;.$pdo-&amp;gt;quote($string).&quot;&lt;/span&gt; LIMIT 1;&quot;;
$stmt = $pdo-&amp;gt;query($sql);
var_dump($stmt-&amp;gt;rowCount());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Expected Result: `int(0)`.&lt;br/&gt;
Actual Result: `int(1)`.&lt;/p&gt;


&lt;p&gt;There are 2 issues to fix. First, the documentation does not indicate that you can pass the `charset` option to the MySQL Driver. This should be fixed so that users are given the proper option to set character sets.&lt;/p&gt;

&lt;p&gt;Secondly, `Connection::setCharset()` should be modified for MySQL to throw an exception, since the character set is only safely setable using the DSN with PDO. This is a limitation of the driver and could be asked as a feature request for the PHP core. Either that, or a big warning should be put on the documentation of the API to indicate the unsafe character set change&lt;/p&gt;

&lt;p&gt;Note that this is the same issue reported for Doctrine2 with link: &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DBAL-111&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DBAL-111&lt;/a&gt; &lt;/p&gt;</description>
                <environment>All</environment>
            <key id="12570">DC-998</key>
            <summary>MySQL Driver possibly subject to sql injections with PDO::quote()</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ircmaxell">Anthony Ferrara</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Apr 2011 13:30:02 +0000</created>
                <updated>Mon, 23 May 2011 13:43:37 +0000</updated>
                                    <version>1.2.0-ALPHA1</version>
                <version>1.2.0-ALPHA2</version>
                <version>1.2.0-ALPHA3</version>
                <version>1.2.0-BETA1</version>
                <version>1.2.0-BETA2</version>
                <version>1.2.0-BETA3</version>
                <version>1.2.0-RC1</version>
                <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15872" author="fabpot" created="Mon, 23 May 2011 13:43:37 +0000"  >&lt;p&gt;Any news on this one? It has been &quot;fixed&quot; in Doctrine2 and must be also fixed in Doctrine1.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-979] Doctrine save() only checks one level deep on one-to-one relations.</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-979</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Updating/saving an object fails when trying to update the nth-level of an existing object/relation where n is more than one level away from the root node of one-to-one relation chain.  For example, with the yaml model below the following does not update the name of the Company object:&lt;/p&gt;

&lt;p&gt;Image-&amp;gt;Product-&amp;gt;Category-&amp;gt;Company-&amp;gt;name = &quot;Acme&quot;.&lt;/p&gt;

&lt;p&gt;If &quot;Product&quot; has no changes it appears to stop checking for changes there.  If we do a save on a one-to-many relation chain such as the following, it works fine:&lt;/p&gt;

&lt;p&gt;Company-&amp;gt;Category-&amp;gt;Product-&amp;gt;Image-&amp;gt;name = &quot;image1.jpg&quot;   &lt;/p&gt;

&lt;p&gt;I was able to fix this issue by modifying the saveRelatedLocalKeys() function in UnitOfWork.php to use isModified() with deep=true:&lt;/p&gt;

&lt;p&gt;if ($obj instanceof Doctrine_Record &amp;amp;&amp;amp; $obj-&amp;gt;isModified(true)) {&lt;/p&gt;

&lt;p&gt;This works but I&apos;m not sure if changing this has any repercussions on more complex queries.&lt;/p&gt;


&lt;p&gt;&amp;#8212;&lt;br/&gt;
detect_relations: true&lt;br/&gt;
options:&lt;br/&gt;
  collate: utf8_general_ci&lt;br/&gt;
  charset: utf8&lt;br/&gt;
  type: InnoDB&lt;/p&gt;

&lt;p&gt;Company:&lt;br/&gt;
  tableName: Company&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(45)&lt;/p&gt;

&lt;p&gt;Category:&lt;br/&gt;
  tableName: Category&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    companyId:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(45)&lt;br/&gt;
  relations:&lt;br/&gt;
    Company:&lt;br/&gt;
      class: Company&lt;br/&gt;
      local: companyId&lt;br/&gt;
      foreign: id&lt;br/&gt;
      foreignAlias: categories&lt;br/&gt;
      onDelete: cascade&lt;br/&gt;
      onUpdate: cascade&lt;br/&gt;
  indexes:&lt;br/&gt;
    fk_Category_Company1:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;companyId&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Product:&lt;br/&gt;
  tableName: Product&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    categoryId:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(45)&lt;br/&gt;
  relations:&lt;br/&gt;
    Category:&lt;br/&gt;
      class: Category&lt;br/&gt;
      local: categoryId&lt;br/&gt;
      foreign: id&lt;br/&gt;
      foreignAlias: products&lt;br/&gt;
      onDelete: cascade&lt;br/&gt;
      onUpdate: cascade&lt;br/&gt;
  indexes:&lt;br/&gt;
    fk_Product_Category1:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;categoryId&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Image:&lt;br/&gt;
  tableName: Image&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    productId:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(45)&lt;br/&gt;
  relations:&lt;br/&gt;
    Product:&lt;br/&gt;
      class: Product&lt;br/&gt;
      local: productId&lt;br/&gt;
      foreign: id&lt;br/&gt;
      foreignAlias: images&lt;br/&gt;
      onDelete: cascade&lt;br/&gt;
      onUpdate: cascade&lt;br/&gt;
  indexes:&lt;br/&gt;
    fk_Image_Product1:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;productId&amp;#93;&lt;/span&gt;&lt;/p&gt;
</description>
                <environment>MySQL 5.1.38, PHP 5.3.3</environment>
            <key id="12435">DC-979</key>
            <summary>Doctrine save() only checks one level deep on one-to-one relations.</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="cesaric">Robert Cesaric</reporter>
                        <labels>
                    </labels>
                <created>Sun, 27 Feb 2011 23:36:08 +0000</created>
                <updated>Sun, 27 Feb 2011 23:36:08 +0000</updated>
                                    <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-966] Default Order By incorrectly propagating to relations</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-966</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Symfony Version 1.4.9 ORM: Doctrine&lt;/p&gt;

&lt;p&gt;Schema.yml:&lt;/p&gt;

&lt;p&gt;Table1:&lt;br/&gt;
    actAs:&lt;br/&gt;
        Timestampable: ~&lt;br/&gt;
    options:&lt;br/&gt;
        orderBy: sort_order ASC&lt;br/&gt;
    columns:&lt;br/&gt;
        name: &lt;/p&gt;
{ string(255), notnull: true }
&lt;p&gt; sort_order: &lt;/p&gt;
{ string(255), notnull: true }

&lt;p&gt;Table2:&lt;br/&gt;
    columns:&lt;br/&gt;
        table1_id: &lt;/p&gt;
{ integer, notnull: true }
&lt;p&gt; value: &lt;/p&gt;
{ string(255), notnull: true }
&lt;p&gt;    relations:&lt;br/&gt;
        Table1: &lt;/p&gt;
{ local: table1_id, foreign: id, foreignAlias: Table2 }

&lt;p&gt;This generates models and I can see the following: BaseTable?1.class.php: $this-&amp;gt;option(&apos;sort_order&apos;, &apos;sort_order ASC&apos;);&lt;/p&gt;

&lt;p&gt;BaseTable?2.class.php: No option for sort_order&lt;/p&gt;

&lt;p&gt;But when I run the following, I get errors: Doctine::getTable(&apos;Table1&apos;)&lt;del&gt;&amp;gt;createQuery(&apos;t&apos;)&lt;/del&gt;&amp;gt;leftJoin(&apos;t.Table2 t2&apos;).execute();&lt;/p&gt;

&lt;p&gt;Error: Column not found: 1054 Unknown column &apos;t2.sort_order&apos; in &apos;order clause&apos;&lt;/p&gt;

&lt;p&gt;Looking at the sql executed, it included t1.sort_order ASC, but also incorrectly added t2.sort_order ASC as well even though it was never defined anywhere.&lt;/p&gt;

&lt;p&gt;I am unsure if this is a Doctrine problem or a symfony one, so I will post i on both bug tracking systems. &lt;/p&gt;</description>
                <environment>Windows 7 WAMP, PHP 5.3, MySQL 5.1.36, Apache 2.2.11</environment>
            <key id="12381">DC-966</key>
            <summary>Default Order By incorrectly propagating to relations</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="f00dmonsta">Jason Yang</reporter>
                        <labels>
                    </labels>
                <created>Sat, 12 Feb 2011 02:20:27 +0000</created>
                <updated>Sat, 12 Feb 2011 02:20:27 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-961] Copy uses mutators but does not use accessors</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-961</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have a column that contains a serialized string of data. The accessor for that column unserializes the data and the mutator serializes. When calling copy the accessor is not used but the mutator is causing the mutator to fail because it receives a string instead of an object as its value.&lt;/p&gt;

&lt;p&gt;The lines of code creating this problem follow:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;Record.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function copy($deep = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
 {
    $data = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_data; &lt;span class=&quot;code-comment&quot;&gt;//does not use accessor
&lt;/span&gt;...
    $ret = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_table-&amp;gt;create($data); &lt;span class=&quot;code-comment&quot;&gt;// does use mutator
&lt;/span&gt;...
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I have currently patched my copy function with the following:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-comment&quot;&gt;// $data = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_data
&lt;/span&gt;$data = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;toArray(&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="12334">DC-961</key>
            <summary>Copy uses mutators but does not use accessors</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="shagreel">Paul Jones</reporter>
                        <labels>
                    </labels>
                <created>Fri, 28 Jan 2011 13:39:23 +0000</created>
                <updated>Fri, 28 Jan 2011 15:42:06 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-960] Bug in OCI8 adapter&apos;s freeCursor function causes exception with HYDRATE_ON_DEMAND</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-960</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;oci_free_statement  should be changed to oci_cancel inside Doctrine_Adapter_Statement_Oracle::closeCursor(). Otherwise exception is thrown if HYDRATE_ON_DEMAND is used followed by foreach loop.&lt;/p&gt;

&lt;p&gt;Doctrine2 should also be affected by this bug.&lt;/p&gt;

&lt;p&gt;Change:&lt;br/&gt;
public function closeCursor()&lt;/p&gt;
    {
        $this-&amp;gt;bindParams = array();
        return oci_free_statement($this-&amp;gt;statement);
    }
&lt;p&gt;To:&lt;br/&gt;
public function closeCursor()&lt;/p&gt;
    {
        $this-&amp;gt;bindParams = array();
        return oci_cancel($this-&amp;gt;statement);
    }</description>
                <environment>doctrine, symfony, linux, hpux</environment>
            <key id="12327">DC-960</key>
            <summary>Bug in OCI8 adapter&apos;s freeCursor function causes exception with HYDRATE_ON_DEMAND</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vadik56">vadik56</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Jan 2011 10:45:34 +0000</created>
                <updated>Wed, 26 Jan 2011 10:45:34 +0000</updated>
                                    <version>1.2.0-ALPHA1</version>
                <version>1.2.0-ALPHA2</version>
                <version>1.2.0-ALPHA3</version>
                <version>1.2.0-BETA1</version>
                <version>1.2.0-BETA2</version>
                <version>1.2.0-BETA3</version>
                <version>1.2.0-RC1</version>
                <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10918" name="closeCursor.diff" size="922" author="vadik56" created="Wed, 26 Jan 2011 10:45:34 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-957] MSSQL doctrine inner join group by problem</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-957</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/dql-doctrine-query-language/en#group-by,-having-clauses&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/dql-doctrine-query-language/en#group-by,-having-clauses&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;$q = Doctrine_Query::create()&lt;br/&gt;
    -&amp;gt;select(&apos;u.username&apos;)&lt;br/&gt;
    -&amp;gt;addSelect(&apos;COUNT(p.id) as num_phonenumbers&apos;)&lt;br/&gt;
    -&amp;gt;from(&apos;User u&apos;)&lt;br/&gt;
    -&amp;gt;leftJoin(&apos;u.Phonenumbers p&apos;)&lt;br/&gt;
    -&amp;gt;groupBy(&apos;u.id&apos;);&lt;/p&gt;

&lt;p&gt;SELECT &lt;br/&gt;
u.id AS u__id, &lt;br/&gt;
u.username AS u__username, &lt;br/&gt;
COUNT(p.id) AS p__0 &lt;br/&gt;
FROM user u &lt;br/&gt;
LEFT JOIN phonenumber p ON u.id = p.user_id &lt;br/&gt;
GROUP BY u.id&lt;/p&gt;

&lt;p&gt;i should create&lt;/p&gt;

&lt;p&gt;SELECT &lt;br/&gt;
COUNT(p.id) AS p__0 &lt;br/&gt;
FROM user u &lt;br/&gt;
LEFT JOIN phonenumber p ON u.id = p.user_id &lt;br/&gt;
GROUP BY u.id&lt;/p&gt;


&lt;p&gt;MSSQL doesnt support this use of group by sql. Id have to be in aggregrate function or  group by.  I do not need id but doctrine creates it in sql.&lt;/p&gt;

&lt;p&gt;&quot;invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.&quot;&lt;/p&gt;</description>
                <environment>mssql, doctrine 1.2.3 , symfony</environment>
            <key id="12313">DC-957</key>
            <summary>MSSQL doctrine inner join group by problem</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mehmetuysal">Mehmet Uysal</reporter>
                        <labels>
                    </labels>
                <created>Thu, 20 Jan 2011 16:28:24 +0000</created>
                <updated>Thu, 20 Jan 2011 16:28:24 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-958] updating Models with Intra-Table Relations cascades strangely</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-958</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Sorry for the lengthy explanation, couldn&apos;t make it more straight forward:&lt;/p&gt;

&lt;p&gt;I have a model which is similiar to a nestet set but the tree structure needs to overlap:&lt;/p&gt;

&lt;p&gt;For Model A, every Object A1 can have multiple descendant objects A2 and in turn can be a descendant of multiple objects A0.&lt;/p&gt;

&lt;p&gt;Since I saw no way to do this with Nested-Set Relations (or Equal-Nested-Sets) I have set up my Model like this:&lt;/p&gt;

&lt;p&gt;modules:&lt;br/&gt;
  columns: ..&amp;lt;do not matter&amp;gt;&lt;br/&gt;
  relations:&lt;br/&gt;
    Children:&lt;br/&gt;
      class: modules&lt;br/&gt;
      refClass: modules_required&lt;br/&gt;
    Parents:&lt;br/&gt;
      class: modules&lt;br/&gt;
      refClass: modules_required&lt;/p&gt;

&lt;p&gt;modules_required:&lt;br/&gt;
  columns: &amp;lt;do not matter here, just 2 foreign key columns&amp;gt;&lt;br/&gt;
  relations:&lt;br/&gt;
    Children:&lt;br/&gt;
    Parents:&lt;/p&gt;

&lt;p&gt;I needed to specify the Relations on both tables, to use onDelete/onUpdate CASCADE rules. Generated Models look fine, just as intended.&lt;br/&gt;
(Every Class has many Children and has many Parents...)&lt;/p&gt;

&lt;p&gt;Now the strange part:&lt;br/&gt;
    When I update an object of modules (say id=18), Doctrine issues the following queries:&lt;br/&gt;
DELETE FROM modules_required WHERE (required_id = ? AND module_id IN (?, ?, ?, ?, ?)) - (18, 25, 26, 32, 34, 35) &lt;br/&gt;
// where 25 to 35 are CHILDREN of 18&lt;br/&gt;
UPDATE modules_required SET required_id = ? WHERE module_id = ? AND required_id = ? - (25, 25, 10)&lt;br/&gt;
UPDATE modules_required SET required_id = ? WHERE module_id = ? AND required_id = ? - (26, 26, 10)&lt;br/&gt;
UPDATE modules_required SET required_id = ? WHERE module_id = ? AND required_id = ? - (32, 32, 10)&lt;br/&gt;
UPDATE modules_required SET required_id = ? WHERE module_id = ? AND required_id = ? - (34, 34, 10)&lt;br/&gt;
UPDATE modules_required SET required_id = ? WHERE module_id = ? AND required_id = ? - (35, 35, 10)&lt;br/&gt;
UPDATE modules_required SET required_id = ? WHERE module_id = ? AND required_id = ? - (25, 25, 12)&lt;br/&gt;
//where 10 and 12 are PARENTS of 18&lt;br/&gt;
and somewhen, Doctrine encounters an MySQL ERROR because of the previous update marathon:&lt;br/&gt;
SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 1062 Duplicate entry &apos;25-25&apos; for key &apos;PRIMARY&apos; &lt;/p&gt;

&lt;p&gt;The point is: &lt;br/&gt;
1. why is Doctrine trying to create self-referencing relations, and &lt;br/&gt;
2. why is it touching the relation at all, when i only did change some text fields in the object?&lt;/p&gt;

&lt;p&gt;Is there a better way to solve my problem?&lt;/p&gt;</description>
                <environment>PHP 5.3 / symfony 1.4.9</environment>
            <key id="12323">DC-958</key>
            <summary>updating Models with Intra-Table Relations cascades strangely</summary>
                <type id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/subtask_alternate.png">Sub-task</type>
                    <parent id="12278">DC-952</parent>
                        <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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="bigbadbassman">Daniel Reiche</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Jan 2011 11:42:09 +0000</created>
                <updated>Thu, 27 Jan 2011 04:21:44 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Behaviors</component>
                <component>Documentation</component>
                <component>Nested Set</component>
                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="15182" author="bigbadbassman" created="Tue, 25 Jan 2011 04:37:46 +0000"  >&lt;p&gt;forgot to add something: I have done a debug run, to see why these queries are created, when there was no data modified that related to these tables:&lt;/p&gt;

&lt;p&gt;Doctrine seems to handle my structure internally as a Nested-Set, although I have not specified an actAs: NestedSet or relations: equal: true statement in the model definition.&lt;br/&gt;
Is there a way to prevent symfony from misinterpreting this?&lt;/p&gt;

&lt;p&gt;This is not a nested set, as each object can have virtually any other object either as parent or as a child, and additionaly, parent relations can span multiple tree-levels:&lt;br/&gt;
Object 2 is parent of Object 3 and 6&lt;br/&gt;
Object 3 is parent of Object 4 and 5&lt;br/&gt;
Object 4 is parent of Object 6&lt;/p&gt;

&lt;p&gt;results in: Object 6 has parents 2 and 4 (where 4 has parent 3 and 3 has parent 2 in turn)&lt;/p&gt;

&lt;p&gt;This spanning relations seems to cause the guessed nested set to fail.&lt;/p&gt;

&lt;p&gt;I simply wanted to create an m:n Relation using a Reference table and the fact that both m and n are of the same class should not consider doctrine.&lt;/p&gt;</comment>
                    <comment id="15190" author="bigbadbassman" created="Wed, 26 Jan 2011 05:36:25 +0000"  >&lt;p&gt;related to #&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-329&quot; title=&quot;Problem saving Self Referencing (Nest Relations)&quot;&gt;DC-329&lt;/a&gt;:&lt;br/&gt;
seems to be the same general problem as described there. Only in DC 1.2.3, doctrine tries to delete every child-relation for some unknown reason.&lt;/p&gt;

&lt;p&gt;also the h2aEqualable mentioned there does not work, because it does not prevent symfony from issueing the delete queries. It prevents only the UPDATE-Queries, and thus circumvents the MySQL-Error.&lt;/p&gt;

&lt;p&gt;Nevertheless, data is still corrupted after object save, thus not useable in production.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-956] Validation error (unique) when inserting an object with Searchable behavior</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-956</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;As soon as one enables the Searchable behavior like the following it is not possible anymore to create or update an entity.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;    public function setTableDefinition()&lt;/p&gt;
    &lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: {        $this-&amp;gt;setTableName(&amp;#39;seartest_article&amp;#39;);
        $this-&amp;gt;hasColumn(&amp;#39;articleid&amp;#39;, &amp;#39;integer&amp;#39;, 11, array(                &amp;#39;type&amp;#39; =&amp;gt; &amp;#39;integer&amp;#39;,                &amp;#39;primary&amp;#39; =&amp;gt; true,                &amp;#39;autoincrement&amp;#39; =&amp;gt; true,                &amp;#39;unsigned&amp;#39; =&amp;gt; true,                &amp;#39;notnull&amp;#39; =&amp;gt; false,                &amp;#39;unique&amp;#39; =&amp;gt; true,                &amp;#39;length&amp;#39; =&amp;gt; 11            )        );        $this-&amp;gt;hasColumn(&amp;#39;title&amp;#39;, &amp;#39;string&amp;#39;, 255, array(                &amp;#39;type&amp;#39; =&amp;gt; &amp;#39;string&amp;#39;,                &amp;#39;notnull&amp;#39; =&amp;gt; false,                &amp;#39;length&amp;#39; =&amp;gt; 255            )        );        $this-&amp;gt;hasColumn(&amp;#39;description&amp;#39;, &amp;#39;string&amp;#39;, null, array(                &amp;#39;type&amp;#39; =&amp;gt; &amp;#39;string&amp;#39;,                &amp;#39;notnull&amp;#39; =&amp;gt; false,                &amp;#39;length&amp;#39; =&amp;gt; null            )        );
        $this-&amp;gt;option(&amp;#39;type&amp;#39;, &amp;#39;INNODB&amp;#39;);        $this-&amp;gt;option(&amp;#39;collate&amp;#39;, &amp;#39;utf8_unicode_ci&amp;#39;);        $this-&amp;gt;option(&amp;#39;charset&amp;#39;, &amp;#39;utf8&amp;#39;);    }&lt;/span&gt; &lt;/div&gt;

&lt;p&gt;    public function setUp()&lt;/p&gt;
    &lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: {        // Search support        $search = new Doctrine_Template_Searchable(array(                &amp;#39;fields&amp;#39; =&amp;gt; array(&amp;#39;title&amp;#39;, &amp;#39;description&amp;#39;),                &amp;#39;batchUpdate&amp;#39; =&amp;gt; false            )        );
        $this-&amp;gt;actAs($search);
        $this-&amp;gt;addListener(new SearchableTest_Model_ArticleListener());    }&lt;/span&gt; &lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;After trying to create a new item the following error message appears (note the record class is called SearchableTest_Model_Article and the primary id column is named articleid):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Validation failed in class SearchableTest_Model_ArticleIndex 1 field had validation error: * 1 validator failed on articleid (unique) &lt;/p&gt;&lt;/blockquote&gt;</description>
                <environment>Ubuntu Linux with Apache 2 and PHP 5.3.</environment>
            <key id="12312">DC-956</key>
            <summary>Validation error (unique) when inserting an object with Searchable behavior</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="guite">Axel Guckelsberger</reporter>
                        <labels>
                    </labels>
                <created>Thu, 20 Jan 2011 13:19:48 +0000</created>
                <updated>Thu, 20 Jan 2011 13:21:13 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Searchable</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-955] Loading fixtures containing data for Versionable/Searchable Models fails due to Duplicate-Key errors</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-955</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Sample schema:&lt;/p&gt;

&lt;p&gt;Blog:&lt;br/&gt;
  actAs: &lt;span class=&quot;error&quot;&gt;&amp;#91;Versionable, Searchable&amp;#93;&lt;/span&gt;&lt;br/&gt;
  columns:&lt;br/&gt;
   id: &lt;/p&gt;
{ type: integer, primary: true, autoincrement: true }
&lt;p&gt;   name: string&lt;br/&gt;
   text: text&lt;/p&gt;

&lt;p&gt;When dumping data of a schema with Versionable and/or Searchable Behaviour, the dump.yml will contain all data, including the *_version and *_index tables.&lt;/p&gt;

&lt;p&gt;Trying to load the same .yml file results in Duplicate-Key constraint violations, as long as the data for the *_version and *_index tables is present.&lt;br/&gt;
The import is only successfull, when the data for these tables is discarded.&lt;br/&gt;
This leads to the issue, that one can only do a dump-load cycle, when the complete version history of a Model is discarded. Which makes dump-load for such models rather useless.&lt;/p&gt;</description>
                <environment>PHP 5.3.3 / symfony 1.4.9-dev / MySQL 5.0</environment>
            <key id="12301">DC-955</key>
            <summary>Loading fixtures containing data for Versionable/Searchable Models fails due to Duplicate-Key errors</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="bigbadbassman">Daniel Reiche</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Jan 2011 04:38:57 +0000</created>
                <updated>Fri, 14 Jan 2011 04:42:12 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Behaviors</component>
                <component>Data Fixtures</component>
                <component>Import/Export</component>
                <component>Searchable</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-953] Doctrine fails when using link() on OneToMany because of failing save</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-953</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have continually run into a very particular bug when using OneToMany relationships between Doctrine tables. When attempting to call &quot;link()&quot; to generate a relationship between records in related tables, Doctrine attempts to set the ID of the &quot;one&quot; portion of the record to 0, then save it.&lt;/p&gt;

&lt;p&gt;This is best demonstrated by the sample YML and PHP that I have attached. It establishes a OneToMany relationship where the &quot;one&quot; table has another foreign key constraint. This causes the DB to trigger a foreign key constraint error when Doctrine tries to set the ID to 0, making the error easier to see.&lt;/p&gt;

&lt;p&gt;From looking into the relevant sections of the codebase, the following appears to be happening:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Calling &quot;link&quot; properly adds the relationship to the &quot;many&quot; record.&lt;/li&gt;
	&lt;li&gt;Calling &quot;save&quot; triggers the saving of the &quot;many&quot; record and all associated records.&lt;/li&gt;
	&lt;li&gt;With the &quot;one&quot; record now listed as an associated record, its own &quot;save&quot; function is called as a result.&lt;/li&gt;
	&lt;li&gt;Its &quot;save&quot; function works properly, except that for some reason, the ID key is not present in the $_data internal array (but oddly is present in the $_id array, allowing it to be returned in other places).&lt;/li&gt;
	&lt;li&gt;Seeing a difference, Doctrine attempts to execute an &quot;UPDATE&quot; query setting the ID to 0.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I&apos;ve made it this far in looking into it, but for the life of me I can&apos;t figure out what is triggering the identifier being reset in this case. I should note, however, that it happens consistently in every such situation on every server I&apos;ve tested it on.&lt;/p&gt;</description>
                <environment>PHP 5.2.10, MySQL database connection</environment>
            <key id="12279">DC-953</key>
            <summary>Doctrine fails when using link() on OneToMany because of failing save</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="slvreagle23">Buster Neece</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Jan 2011 20:47:27 +0000</created>
                <updated>Tue, 4 Jan 2011 21:43:39 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15107" author="slvreagle23" created="Tue, 4 Jan 2011 21:43:39 +0000"  >&lt;p&gt;Further research into the issue has revealed the exact area where the problem is being caused:&lt;/p&gt;

&lt;p&gt;Doctrine_Collection (272): Function &quot;setReference&quot;, called from Doctrine_Relation_ForeignKey (80).&lt;/p&gt;

&lt;p&gt;For each of the elements in the collection (in this case, the related items), that function is setting the &quot;reference field&quot; value to the record being related to. Apparently, it&apos;s getting the field names confused, because it&apos;s overwriting &quot;id&quot; with a reference to the entire related object, which has a different ID.&lt;/p&gt;

&lt;p&gt;I can&apos;t tell if this is only an issue when both the relation tables use the same identifier (&quot;id&quot;), but this is surely common enough to warrant a fix.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10903" name="test.php" size="408" author="slvreagle23" created="Tue, 4 Jan 2011 20:47:27 +0000" />
                    <attachment id="10904" name="test.yml" size="1162" author="slvreagle23" created="Tue, 4 Jan 2011 20:47:27 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-951] Error in generating the field size and error in the generation of the date fields  for postgres</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-951</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;collaboration of vtamara@pasosdejesus.org    and  jeronimo0000@gmail.com           &lt;/p&gt;


&lt;p&gt;While we developed a tool with symfony 1.4 and postgresql database we found errors in the generated schema.yml which I describe below&lt;/p&gt;

&lt;p&gt;1 - Error in generating of field size of varchars&lt;br/&gt;
2 - Error in the generation of date fields&lt;/p&gt;

&lt;p&gt;We found the following solution&lt;/p&gt;


&lt;p&gt;&amp;#8212; Doctrine/Import/Pgsql.php.orig      2010-12-23 17:48:00.160271000 -0500&lt;br/&gt;
+++ Doctrine/Import/Pgsql.php   2010-12-23 18:01:59.252271002 -0500&lt;br/&gt;
@@ -168,11 +168,14 @@&lt;br/&gt;
         $columns     = array();&lt;br/&gt;
         foreach ($result as $key =&amp;gt; $val) {&lt;br/&gt;
             $val = array_change_key_case($val, CASE_LOWER);&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;if (strtolower($val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;type&amp;#39;&amp;#93;&lt;/span&gt;) === &apos;character varying&apos;) {&lt;br/&gt;
+            if (strtolower($val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;type&amp;#39;&amp;#93;&lt;/span&gt;) === &apos;varchar&apos;) 
{
                 // get length from varchar definition
                 $length = preg_replace(&apos;~.*\(([0-9]*)\).*~&apos;, &apos;$1&apos;, $val[&apos;complete_type&apos;]);
                 $val[&apos;length&apos;] = $length;
             }
&lt;p&gt;+           if ($val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;type&amp;#39;&amp;#93;&lt;/span&gt; == &apos;date&apos;) &lt;/p&gt;
{
+               $val[&apos;type&apos;] = $val[&apos;complete_type&apos;] = &apos;timestamp&apos;; 
+            }&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;             $decl = $this-&amp;gt;conn-&amp;gt;dataDict-&amp;gt;getPortableDeclaration($val);&lt;/p&gt;





</description>
                <environment>apacha2, linux, Symfony 1.4</environment>
            <key id="12252">DC-951</key>
            <summary>Error in generating the field size and error in the generation of the date fields  for postgres</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jeronimo0000">fernando guerrero</reporter>
                        <labels>
                    </labels>
                <created>Fri, 24 Dec 2010 12:16:23 +0000</created>
                <updated>Fri, 24 Dec 2010 12:16:23 +0000</updated>
                                    <version>1.2.2</version>
                                <fixVersion>1.2.4</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-949] (patch)allow Native floats and double precision field types for MySQL, Oracle, Pgsql</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-949</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;This creates a new attribute constant Doctrine_Core::ATTR_USE_NATIVE_FLOAT and Doctrine_Core::ATTR_USE_NATIVE_DOUBLE.  This will allow the setting of attributes of use_native_float = true and use_native_double = true.  With these set to true in MySQL  of the generated sql will no longer Make FLOAT(18,2) and will make it just FLOAT that is a true floating point the same thing with DOUBLE except it is now a true double precision floating point. &lt;/p&gt;

&lt;p&gt;Proper adjustments are also made to MySQL, Oracle and Postgresql to use native floating point declarations to define both single and double precision floating point data types. &lt;/p&gt;

&lt;p&gt;I have attached a patch to fix the floating point field types. &lt;/p&gt;</description>
                <environment>Os Independent, MySQL, Oracle, Postgresql</environment>
            <key id="12214">DC-949</key>
            <summary>(patch)allow Native floats and double precision field types for MySQL, Oracle, Pgsql</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mblackmer">Max Blackmer</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 Dec 2010 18:11:08 +0000</created>
                <updated>Thu, 9 Dec 2010 18:53:19 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Attributes</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14940" author="mblackmer" created="Thu, 9 Dec 2010 18:34:58 +0000"  >&lt;p&gt;Quote from MySQL Manual &quot;For maximum portability, code requiring storage of approximate numeric data values should use FLOAT or DOUBLE PRECISION with no specification of precision or number of digits&quot;  &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html&quot; class=&quot;external-link&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10890" name="doctrine-1.2-native-float.patch" size="4643" author="mblackmer" created="Thu, 9 Dec 2010 18:11:08 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-942] fromArray makes unnessesary cals to database</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-942</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If I do toArray(true) on record with realtions and later fromArray($array, true) on with same data unnessesary calls to database are made.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
$message = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Message();
$message-&amp;gt;Sender = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User(); &lt;span class=&quot;code-comment&quot;&gt;// &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; i leave out &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; line sender will first get loaded from database and then overwritten with provided data
&lt;/span&gt;$message-&amp;gt;Receiver = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User();   &lt;span class=&quot;code-comment&quot;&gt;// &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; i leave out &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; line receiver will first get loaded from database and then overwritten with provided data
&lt;/span&gt;$message-&amp;gt;fromArray($data);

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In Doctrine_Record::fromArray()&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($deep &amp;amp;&amp;amp; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;hasRelation($key)) {
    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ( ! $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;$key) {                                           --&amp;gt; data gets loaded from db here, refreshRelated is not even executed.
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;refreshRelated($key);
    }
...
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Is this desired behavour? Wouldnt it be smarter to create empty object automaticly instead of loading it from db?&lt;br/&gt;
Also have look at &lt;a href=&quot;http://trac.doctrine-project.org/ticket/1434&quot; class=&quot;external-link&quot;&gt;http://trac.doctrine-project.org/ticket/1434&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12187">DC-942</key>
            <summary>fromArray makes unnessesary cals to database</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ihff">Ivo V&#245;sa</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Dec 2010 05:16:41 +0000</created>
                <updated>Fri, 3 Dec 2010 05:16:41 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-941] Spatial index type for mysql</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-941</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I&apos;m using doctrine and some of mysql&apos;s spatial functions. I need to specify spatial index for my tables.&lt;br/&gt;
My declaration looks like:&lt;/p&gt;

&lt;p&gt;Geometry:&lt;br/&gt;
  tableName: geometry&lt;br/&gt;
  options:&lt;br/&gt;
    type:    MyISAM&lt;br/&gt;
    collate: utf8_unicode_ci&lt;br/&gt;
    charset: utf8&lt;br/&gt;
  columns:&lt;br/&gt;
    id: &lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    geometry:&lt;br/&gt;
      type: geometry&lt;br/&gt;
      notnull: true&lt;br/&gt;
   indexes:&lt;br/&gt;
    geometry:&lt;br/&gt;
      fields:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;geometry&lt;br/&gt;
      type: spatial&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Exporting this definitions throws an exception: Unknown type spatial for index geometry_idx&lt;/p&gt;

</description>
                <environment></environment>
            <key id="12178">DC-941</key>
            <summary>Spatial index type for mysql</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mishal">Mishal</reporter>
                        <labels>
                    </labels>
                <created>Mon, 29 Nov 2010 14:43:57 +0000</created>
                <updated>Mon, 29 Nov 2010 14:43:57 +0000</updated>
                                    <version>1.2.3</version>
                                <fixVersion>1.2.3</fixVersion>
                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10880" name="patch.patch" size="736" author="mishal" created="Mon, 29 Nov 2010 14:43:57 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-938] Impossible to use other formats than YAML in data import</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-938</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;File Doctrine/Data/Import.php, line #80&lt;br/&gt;
if (end($e) == &apos;yml&apos;)&lt;/p&gt;

&lt;p&gt;So, if the file is a .json (for exemple), it will be impossible to load it, even if we have specified &quot;json&quot; as format parameter.&lt;br/&gt;
And it sucks.&lt;/p&gt;

&lt;p&gt;The fix would just be to change the line to :&lt;br/&gt;
if (end($e) == $this-&amp;gt;getFormat())&lt;/p&gt;</description>
                <environment></environment>
            <key id="12159">DC-938</key>
            <summary>Impossible to use other formats than YAML in data import</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="arcanis">Mael Nison</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Nov 2010 09:58:18 +0000</created>
                <updated>Thu, 25 Nov 2010 09:58:18 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Data Fixtures</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-940] Doctrine - loading a YAML fixture with French characters, replaces the accents with junk</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-940</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;My Doctrine 1.2 is integrated inside CodeIgniter as a hook and I know that my char-set is utf8 with collation utf8_unicode_ci.&lt;/p&gt;

&lt;p&gt;I have two YAML files, one for creating the DB and its tables and one to load some test data. My data can contain French accents (&#231;&#233;&#239;&#235;...). In my schama.yml I have correctly specified the collation and char-set:&lt;/p&gt;

&lt;p&gt;options:&lt;br/&gt;
  type: INNODB&lt;br/&gt;
  charset: utf8&lt;br/&gt;
  collate: utf8_unicode_ci&lt;/p&gt;

&lt;p&gt;I double checked the settings in phpMyAdmin, everything is correct.&lt;/p&gt;

&lt;p&gt;When I run my doctrine script from commandline to load my fixture to populate one of tables, all the French accents are replaced by junk!&lt;/p&gt;

&lt;p&gt;Am I missing a setting or configuration or is there a bug in Doctrine?&lt;/p&gt;

&lt;p&gt;I appreciate any help. Cheers.&lt;/p&gt;

&lt;p&gt;P.S. Everything else works like a charm&lt;/p&gt;</description>
                <environment>MAC OS X (10.6.5)&lt;br/&gt;
MAMP 1.9.4&lt;br/&gt;
PHP 5.3.2</environment>
            <key id="12166">DC-940</key>
            <summary>Doctrine - loading a YAML fixture with French characters, replaces the accents with junk</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="raminoacid">Ramin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 26 Nov 2010 13:14:09 +0000</created>
                <updated>Fri, 26 Nov 2010 13:14:09 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Data Fixtures</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-939] Patch for Doctrine .....  to identify in some cases autoincremented fields in oracle</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-939</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Patch for Doctrine .....  to identify in some cases autoincremented&lt;br/&gt;
fields.&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;Solution found thanks to Vladimir Tamara - vtamara AT pasosdejesus DOT org&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Doctrine/Import/Oracle.php&lt;/p&gt;

&lt;p&gt;   // Heuristic to check autoincremented fields.&lt;br/&gt;
        // We check if there is a trigger on the field.&lt;br/&gt;
           // We could also check if there is a sequence on the field.&lt;br/&gt;
           // Side effect: slower generation of scheme&lt;br/&gt;
           $q = &quot;SELECT * FROM all_trigger_cols WHERE&lt;br/&gt;
           table_name=&apos;$table&apos; AND column_name=&apos;&quot; . $val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;column_name&amp;#39;&amp;#93;&lt;/span&gt;;&lt;/p&gt;

&lt;p&gt;            $res2 = $this-&amp;gt;conn-&amp;gt;fetchColumn($q);&lt;br/&gt;
           if (count($res2) &amp;gt; 0) &lt;/p&gt;
{
               $descr[$val[&apos;column_name&apos;]][&apos;autoincrement&apos;] = true;
           }

&lt;p&gt;        }&lt;/p&gt;

&lt;p&gt;        return $descr;&lt;/p&gt;</description>
                <environment>PHP Version 5.2.4-2ubuntu5.10 &lt;br/&gt;
Copyright (c) 1997-2007 The PHP Group&lt;br/&gt;
Oracle database 10gR2&lt;br/&gt;
Symfony 1.4.4</environment>
            <key id="12164">DC-939</key>
            <summary>Patch for Doctrine .....  to identify in some cases autoincremented fields in oracle</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="alexander">Edwin Alexander Herrera Saavedra</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Nov 2010 17:30:22 +0000</created>
                <updated>Fri, 24 Dec 2010 12:06:55 +0000</updated>
                                    <version>1.2.2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15015" author="alexander" created="Fri, 24 Dec 2010 12:06:55 +0000"  >&lt;p&gt;when new tables are created, the auto-increment is shown in all fields of the table in the schema, to avoid this problem has generated the following improvements to a validation of the auto-increment column is only when the primary key&lt;/p&gt;

&lt;p&gt;Solution found thanks to&lt;br/&gt;
Vladimir Tamara - vtamara AT pasosdejesus DOT org&lt;br/&gt;
and Alexander Herrera&lt;/p&gt;

&lt;p&gt;            if($descr[$val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;column_name&amp;#39;&amp;#93;&lt;/span&gt;]&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;primary&amp;#39;&amp;#93;&lt;/span&gt;==1){&lt;br/&gt;
            // Heuristic to check autoincremented fields.&lt;br/&gt;
	    // We check if there is a trigger on the field.&lt;br/&gt;
	    // We could also check if there is a sequence on the field.&lt;br/&gt;
	    // Side effect: slower generation of scheme&lt;br/&gt;
            //SELECT * FROM ALL_CONS_COLUMNS WHERE CONSTRAINT_NAME LIKE &apos;%TS_DIS_REG_PK%&apos;  AND COLUMN_NAME=&apos;FECHA_PROC&apos;;&lt;br/&gt;
            $q=&quot;SELECT * FROM ALL_CONS_COLUMNS WHERE CONSTRAINT_NAME LIKE &apos;%&quot;.$table.&quot;_PK%&apos; AND COLUMN_NAME=&apos;&quot;.$val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;column_name&amp;#39;&amp;#93;&lt;/span&gt;.&quot;&apos;&lt;/p&gt;

&lt;p&gt;                    &quot;;&lt;br/&gt;
           // echo $descr[$val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;column_name&amp;#39;&amp;#93;&lt;/span&gt;]&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;primary&amp;#39;&amp;#93;&lt;/span&gt;.&quot;\n&quot;;&lt;br/&gt;
	    $s = &quot;SELECT * FROM all_trigger_cols WHERE table_name=&apos;$table&apos; AND column_name=&apos;&quot; . $val&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;column_name&amp;#39;&amp;#93;&lt;/span&gt; . &quot;&apos;&quot;;&lt;br/&gt;
           //echo $q.&quot;\n&quot;;&lt;br/&gt;
            $res2 = $this-&amp;gt;conn-&amp;gt;fetchColumn($q);&lt;br/&gt;
            $res3 = $this-&amp;gt;conn-&amp;gt;fetchColumn($s);&lt;br/&gt;
	    if (count($res2) &amp;gt; 0 &amp;amp;&amp;amp; count($res3)&amp;gt;0) &lt;/p&gt;
{
                $descr[$val[&apos;column_name&apos;]][&apos;autoincrement&apos;] = true;
	    }
&lt;p&gt;            }&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1038] Missing Foreign Key Constraint in SQL</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1038</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I have the problem, that a foreign key constraint is not created in the SQL schema. This occurs, when the primary key is not the column &apos;id&apos;. &lt;/p&gt;

&lt;p&gt;Here is an example:&lt;/p&gt;

&lt;p&gt;User:&lt;br/&gt;
    columns:&lt;br/&gt;
        username:&lt;br/&gt;
            type: string(30)&lt;br/&gt;
            notnull: false&lt;br/&gt;
        email:&lt;br/&gt;
            type: string(80)&lt;br/&gt;
            notnull: true&lt;br/&gt;
        gender:&lt;br/&gt;
            type: enum&lt;br/&gt;
            values: &lt;span class=&quot;error&quot;&gt;&amp;#91;0,m,f&amp;#93;&lt;/span&gt;&lt;br/&gt;
            notblank: true&lt;br/&gt;
            notnull: true&lt;br/&gt;
        birthday:&lt;br/&gt;
            type: date&lt;/p&gt;

&lt;p&gt;Address:&lt;br/&gt;
    columns:&lt;br/&gt;
        user_id:&lt;br/&gt;
            type: integer(4)&lt;br/&gt;
            unsigned: 1&lt;br/&gt;
            notnull: true&lt;br/&gt;
            primary: true&lt;br/&gt;
        some_data:&lt;br/&gt;
            type: string(100)&lt;br/&gt;
    relations:&lt;br/&gt;
        User:&lt;br/&gt;
            local: user_id&lt;br/&gt;
            foreign: id&lt;br/&gt;
            foreignType: one&lt;/p&gt;

&lt;p&gt;The foreign key from contacts to users is not created in der SQL schema. But if I delete the attribute &apos;primary&apos; at the column &apos;user_id&apos; (and a primary key &apos;id&apos; will generated), everything is okay.&lt;/p&gt;

&lt;p&gt;Can you help me please?&lt;/p&gt;

&lt;p&gt;With kind regards&lt;br/&gt;
Stephan&lt;/p&gt;</description>
                <environment></environment>
            <key id="13041">DC-1038</key>
            <summary>Missing Foreign Key Constraint in SQL</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="kiefer">Stephan</reporter>
                        <labels>
                    </labels>
                <created>Sat, 24 Sep 2011 20:33:25 +0000</created>
                <updated>Sat, 24 Sep 2011 20:33:25 +0000</updated>
                                    <version>1.2.4</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1037] Migration does not quote identifiers when checking migration version</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1037</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I happen to be using Symfony 1.4.14-DEV (r33007) and am trying to setup migrations with Oracle, which is using &lt;tt&gt;Doctrine_Core::ATTR_QUOTE_IDENTIFIER&lt;/tt&gt;. This issue is in core Doctrine.&lt;/p&gt;

&lt;p&gt;To reproduce:&lt;/p&gt;

&lt;p&gt;1. Make a change to your schema.yml&lt;br/&gt;
2. Create the migrations diff by executing &lt;tt&gt;php symfony doctrine:generate-migrations-diff&lt;/tt&gt;&lt;br/&gt;
3. New file have been created at ./lib/migration/doctrine/*_version1.php&lt;br/&gt;
4. Try to migrate using command &lt;tt&gt;php symfony doctrine:migrate&lt;/tt&gt;&lt;br/&gt;
5. Results in error:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;ORA-00942: table or view does not exist : SELECT version FROM migration_version. Failing Query: &lt;span class=&quot;code-quote&quot;&gt;&quot;SELECT version FROM migration_version&quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Cause: The current connection is using quoted identifiers, so the query used to create the &lt;tt&gt;migration_version&lt;/tt&gt; table when migrations are first instantiated was properly created as &lt;tt&gt;&quot;migration_version&quot;&lt;/tt&gt; (notice quotes). But the raw SQL query used in &lt;tt&gt;Doctrine_Migration::getCurrentVersion()&lt;/tt&gt; is not quoting the table or column identifiers, so Oracle can&apos;t find the table.&lt;/p&gt;

&lt;p&gt;There are several places in &lt;tt&gt;Doctrine_Migration&lt;/tt&gt; where the table and column identifiers are not quoted, thus breaking migrations when using a database with strict rules on the case of identifiers.&lt;/p&gt;

&lt;p&gt;Even though I&apos;m developing against Oracle, this also likely affects other drivers.&lt;/p&gt;</description>
                <environment>Linux version 2.4.21-63.ELsmp (&lt;a href=&apos;mailto:mockbuild@x86-005.build.bos.redhat.com&apos;&gt;mockbuild@x86-005.build.bos.redhat.com&lt;/a&gt;) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-59)) #1 SMP Wed Oct 28 23:15:46 EDT 2009, Symfony 1.4.14-DEV, Oracle 11g</environment>
            <key id="13003">DC-1037</key>
            <summary>Migration does not quote identifiers when checking migration version</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="johnkary">John Kary</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Sep 2011 19:34:51 +0000</created>
                <updated>Wed, 7 Sep 2011 20:13:23 +0000</updated>
                                    <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16451" author="johnkary" created="Wed, 7 Sep 2011 20:13:23 +0000"  >&lt;p&gt;Pull request open which quotes all identifiers in Doctrine_Migration and fixes this issue:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/doctrine1/pull/41&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine1/pull/41&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1036] Doctrine_Export_Oracle::alterTable() not properly quoting column identifier for change</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1036</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;This bug was introduced by the person reporting the bug #&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-592&quot; title=&quot;PHP Fatal error:  Call to undefined method Doctrine_Connection_Oracle::getDeclaration() in  ....\Doctrine\Export\Oracle.php on line 501&quot;&gt;&lt;del&gt;DC-592&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When trying to generate an ALTER TABLE statement with &lt;tt&gt;Doctrine_Core::ATTR_QUOTE_IDENTIFIER&lt;/tt&gt; enabled, the column identifier is not quoted, and a blank identifier is instead quoted, generating the following SQL:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;ALTER TABLE &lt;span class=&quot;code-quote&quot;&gt;&quot;mytable&quot;&lt;/span&gt; MODIFY (username &quot;&quot; VARCHAR2(200))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The proper SQL to be generated should be:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;ALTER TABLE &lt;span class=&quot;code-quote&quot;&gt;&quot;mytable&quot;&lt;/span&gt; MODIFY (&lt;span class=&quot;code-quote&quot;&gt;&quot;username&quot;&lt;/span&gt; VARCHAR2(200))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13001">DC-1036</key>
            <summary>Doctrine_Export_Oracle::alterTable() not properly quoting column identifier for change</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="johnkary">John Kary</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Sep 2011 16:55:12 +0000</created>
                <updated>Wed, 7 Sep 2011 18:48:09 +0000</updated>
                                    <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16447" author="johnkary" created="Wed, 7 Sep 2011 18:20:45 +0000"  >&lt;p&gt;Pull request opened with failing test case and bug fix:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/doctrine1/pull/40&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine1/pull/40&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1033] [PATCH] Use multibyte version of strtolower</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1033</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;While trying to develop a new Symfony frontend to an existing database - whcih unfortunately contains non-ascii character names - I ran into a lot of problems where non-ascii characters had been mangled.&lt;br/&gt;
After installing XDebug and digging into the issue I found that the use of strtolower on the column names was the issue, since it&apos;s not safe to use on UTF-8 strings.&lt;br/&gt;
I replaced all calls to strtolower with mb_strtolower and UTF-8 encoding which solved my issue. I don&apos;t know if that is the correct way of doing it or if there is a better way.&lt;br/&gt;
I saw one other use of mb_strtolower in doctrine and it was guarded with an if function exists... Also it might be an issue in other files as well...&lt;br/&gt;
I provide my patch file incase it is of any use.&lt;/p&gt;</description>
                <environment>PHP 5.3.7, Symfony 1.4.13</environment>
            <key id="12979">DC-1033</key>
            <summary>[PATCH] Use multibyte version of strtolower</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="flojon">Jonas Flod&#233;n</reporter>
                        <labels>
                    </labels>
                <created>Sun, 28 Aug 2011 21:28:54 +0000</created>
                <updated>Sun, 28 Aug 2011 21:43:03 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16398" author="flojon" created="Sun, 28 Aug 2011 21:43:03 +0000"  >&lt;p&gt;Here is a Git pull request with the same patch:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/doctrine1/pull/39&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine1/pull/39&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11060" name="0001-Use-multibyte-version-of-strtolower.patch" size="2809" author="flojon" created="Sun, 28 Aug 2011 21:28:55 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1030] [PATCH] doctrine 1.2.4 ADD/DROP CONSTRAINT UNIQUE</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1030</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Adding/dropping UNIQUE CONSTRAINT doesn&apos;t work on PostgreSQL.&lt;/p&gt;

&lt;p&gt;I&apos;m attaching patch for this problem.&lt;/p&gt;

&lt;p&gt;Best regards,&lt;br/&gt;
Michal&lt;/p&gt;</description>
                <environment></environment>
            <key id="12935">DC-1030</key>
            <summary>[PATCH] doctrine 1.2.4 ADD/DROP CONSTRAINT UNIQUE</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="m">MichalKJP</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Aug 2011 12:02:34 +0000</created>
                <updated>Fri, 19 Aug 2011 12:02:34 +0000</updated>
                                                                    <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11057" name="symfony_0010_doctrine_fix_unique_add_drop.patch" size="1339" author="m" created="Fri, 19 Aug 2011 12:02:34 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1026] PgSQL driver does not create indexes on foreign key columns</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1026</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Just like in Doctrine 2 (&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DBAL-50):&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DBAL-50):&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The PostgreSQL database does not create indexes for foreign key columns, the user has to create them by hand. I think that indexes for foreign keys should be created automatically&lt;/p&gt;&lt;/blockquote&gt;</description>
                <environment></environment>
            <key id="12907">DC-1026</key>
            <summary>PgSQL driver does not create indexes on foreign key columns</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="szjani">Szurovecz J&#225;nos</reporter>
                        <labels>
                    </labels>
                <created>Mon, 8 Aug 2011 11:42:26 +0000</created>
                <updated>Mon, 8 Aug 2011 11:42:26 +0000</updated>
                                    <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1022] Doctrine migration does not set version when MySQL autocommit is false</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1022</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;With autocommit set to off in mysqld, &lt;tt&gt;Doctrine_Migration::setCurrentVersion()&lt;/tt&gt; does not have any effect.  This is because the method uses raw PDO calls, which are discarded without either autocommit or an explicit &lt;tt&gt;COMMIT;&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;We patched Doctrine as in the attachment.  It works for us, but may not be the best general solution.&lt;/p&gt;

&lt;p&gt;The patch only fixes this one issue.  There are likely many areas in Doctrine that rely upon autocommit behavior in MySQL.  We will continue to look for them, and supply patches as we find them.  However, as we are only concerned about MySQL, our solutions will probably not apply to other PDO drivers.&lt;/p&gt;</description>
                <environment>RHEL 6.0, mysql 5.1.52</environment>
            <key id="12856">DC-1022</key>
            <summary>Doctrine migration does not set version when MySQL autocommit is false</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="afineman">Adam Fineman</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Jul 2011 01:02:48 +0000</created>
                <updated>Tue, 26 Jul 2011 01:41:01 +0000</updated>
                                                    <fixVersion>1.2.4</fixVersion>
                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="11040" name="migration.patch" size="501" author="afineman" created="Tue, 26 Jul 2011 01:02:48 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1049] error with Timestamp data Validation</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1049</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The default value for timestamp is &quot;0000-00-00 00:00:00&quot;, so &lt;br/&gt;
$e = explode(&apos;T&apos;, trim($value))&lt;br/&gt;
should be changed to &lt;br/&gt;
$e = explode(&apos; &apos;, trim($value))&lt;/p&gt;

&lt;p&gt;public function validate($value)&lt;br/&gt;
    {&lt;br/&gt;
        if (is_null($value)) &lt;/p&gt;
{
            return true;
        }

&lt;p&gt;        $e = explode(&apos;T&apos;, trim($value));&lt;br/&gt;
        $date = isset($e&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;) ? $e&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;:null;&lt;br/&gt;
        $time = isset($e&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;) ? $e&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;:null;&lt;/p&gt;

&lt;p&gt;        $dateValidator = Doctrine_Validator::getValidator(&apos;date&apos;);&lt;br/&gt;
        $timeValidator = Doctrine_Validator::getValidator(&apos;time&apos;);&lt;/p&gt;

&lt;p&gt;        if ( ! $dateValidator-&amp;gt;validate($date)) &lt;/p&gt;
{
            return false;
        }&lt;br/&gt;
&lt;br/&gt;
        if ( ! $timeValidator-&amp;gt;validate($time)) {            return false;        }
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;        return true;&lt;br/&gt;
    }&lt;/p&gt;</description>
                <environment>Linux </environment>
            <key id="13476">DC-1049</key>
            <summary>error with Timestamp data Validation</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="coiby">Coiby Xu</reporter>
                        <labels>
                    </labels>
                <created>Sun, 26 Feb 2012 13:09:02 +0000</created>
                <updated>Sun, 26 Feb 2012 13:09:02 +0000</updated>
                                    <version>1.2.4</version>
                                                <component>Validators</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11166" name="Timestamp.php" size="2171" author="coiby" created="Sun, 26 Feb 2012 13:09:02 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1048] MSSQL Connection</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1048</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Function spliti(); is deprecated.&lt;br/&gt;
It need to be change to (in my own opinion):&lt;/p&gt;

&lt;p&gt;$field_array = str_ireplace(&apos; as &apos;, &apos; as &apos;, $field_array);&lt;br/&gt;
$aux2 = explode(&apos; as &apos;, $field_array);&lt;/p&gt;

&lt;p&gt;thnx.&lt;/p&gt;</description>
                <environment>Microsoft Windows Server 2008 R2; IIS 7; PHP 2.3.8; Doctrine 1.2.4; Symfony 1.4.16</environment>
            <key id="13363">DC-1048</key>
            <summary>MSSQL Connection</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="psycho-coder">Constantine Tkachenko</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Jan 2012 08:35:40 +0000</created>
                <updated>Mon, 16 Jan 2012 08:35:40 +0000</updated>
                                    <version>1.2.4</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1046] Connection MSSQL replaceBoundParamsWithInlineValuesInQuery</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1046</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;We found a bug in Doctrine1 MSSQL Connection.&lt;br/&gt;
When you would like to use the following functionality: find(One)By(p1,p2)&lt;br/&gt;
if you use the old functionality (Symfony 1.4 support it) like this: findBy(&quot;idAnddata&quot;, array(&quot;id&quot; =&amp;gt; ..., &quot;date&quot; =&amp;gt; ..)), you got an MSSQL error, because the values wasn&apos;t changed.&lt;/p&gt;

&lt;p&gt;Please find the patch for it, I hope it helps to you as well.&lt;/p&gt;

&lt;p&gt;Kind regards&lt;br/&gt;
Peter&lt;/p&gt;</description>
                <environment>Revision: 104&lt;br/&gt;
</environment>
            <key id="13272">DC-1046</key>
            <summary>Connection MSSQL replaceBoundParamsWithInlineValuesInQuery</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="eisi">Peter Eisenberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Dec 2011 13:01:23 +0000</created>
                <updated>Thu, 15 Dec 2011 13:39:29 +0000</updated>
                                                    <fixVersion>1.2.4</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16988" author="eisi" created="Thu, 15 Dec 2011 13:39:29 +0000"  >&lt;p&gt;Small changes:&lt;br/&gt;
Unfortunately the notice wasn&apos;t set in my test environment, and I didn&apos;t realized this small error:&lt;/p&gt;

&lt;p&gt;please use the following instead of the original: &lt;br/&gt;
$replacement = &apos;is_null(\$value) ? \&apos;NULL\&apos; : \$this-&amp;gt;quote(\$params&lt;span class=&quot;error&quot;&gt;&amp;#91;\&amp;#39;\\1\&amp;#39;&amp;#93;&lt;/span&gt;)&apos;;&lt;/p&gt;

&lt;p&gt;another case you got the following error: Use of undefined constant xxx - assumed xxx. &lt;/p&gt;

&lt;p&gt;Kind regards,&lt;br/&gt;
Peter&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11130" name="replaceBoundParamsWithInlineValuesInQuery.patch" size="660" author="eisi" created="Thu, 15 Dec 2011 13:01:23 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1045] data-load with invalid filename leads to purging of all the data in the database</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1045</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Adding an invalid filename to the data-load task results in purging of all the data in the database.&lt;/p&gt;

&lt;p&gt;I am attaching a patch that checks the loaded data if there were any values actually loaded from the fixtures. &lt;/p&gt;</description>
                <environment>symfony 1.4</environment>
            <key id="13241">DC-1045</key>
            <summary>data-load with invalid filename leads to purging of all the data in the database</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="artworx">Keszeg Alexandru</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Dec 2011 16:53:21 +0000</created>
                <updated>Tue, 6 Dec 2011 16:53:21 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11124" name="diff.patch" size="413" author="artworx" created="Tue, 6 Dec 2011 16:53:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1043] Error:&quot;When using..ATTR_AUTO_ACCESSOR_OVERRIDE you cannot.. name &quot;data&quot; ...&quot; when running doctrine:build-schema ... except  I&apos;m NOT using that word</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1043</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Was able to resolve this - see comment below - but still think it counts as a bug since the source of the error is so unclear&lt;/p&gt;

&lt;p&gt;Hello,&lt;br/&gt;
I&apos;m familiarizing myself with symfony at this point, but doctrine seems like a very accessible ORM tool overall. This install will also use the apostrophe plugin though that is more a client request and it is seeming to complicate a lot of issues from what I can see. Right now, I am just trying to create some db tables in schema.yml and build them with doctrine. When running $ php symfony doctrine:build-schema I get the following error: When using the attribute ATTR_AUTO_ACCESSOR_OVERRIDE you cannot use the field name &quot;data&quot; because it is reserved by Doctrine. You must choose another field name.&lt;/p&gt;

&lt;p&gt;Which would be clear enough except I&apos;m NOT using &quot;data&quot; as a field name in my schema file: here&apos;s what I&apos;m using:&lt;/p&gt;

&lt;p&gt;sfTravelLodgingLocationsType:&lt;br/&gt;
   columns:&lt;br/&gt;
      lodging_name: &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;      lodging_code: &lt;/p&gt;
{ type: string(255) }

&lt;p&gt;sfTravelLodgingLocations:&lt;br/&gt;
   columns:&lt;br/&gt;
      lodging_type_code: &lt;/p&gt;
{ type: integer, notnull: true }
&lt;p&gt;      name: &lt;/p&gt;
{ type: string(255), notnull: true }
&lt;p&gt;      address: &lt;/p&gt;
{ type: string(255), notnull: true }
&lt;p&gt;      city: &lt;/p&gt;
{ type: string(255), notnull: true }
&lt;p&gt;      distance: &lt;/p&gt;
{ type: integer, notnull: true }
&lt;p&gt;      phone: &lt;/p&gt;
{ type: string(255), notnull: true }
&lt;p&gt;      known_2b_sold_out: &lt;/p&gt;
{ type: boolean, notnull: true, default: 0 }
&lt;p&gt;   relations:&lt;br/&gt;
      Travel_Lodging_LocationsType: &lt;/p&gt;
{ local: type_id, foreign: id }

&lt;p&gt;I&apos;m assuming this is a misnamed error call ... I have found a few references to that same error in other threads but none that resolve it&lt;/p&gt;</description>
                <environment>Mac OSX 10.6.8 running MAMP Pro 2.0.5 with PHP 5.3.6 ... this is a local symfony install which is also using the apostrophe cms. </environment>
            <key id="13231">DC-1043</key>
            <summary>Error:&quot;When using..ATTR_AUTO_ACCESSOR_OVERRIDE you cannot.. name &quot;data&quot; ...&quot; when running doctrine:build-schema ... except  I&apos;m NOT using that word</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="shotdsherrif">Maurice Stephens</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Nov 2011 21:32:10 +0000</created>
                <updated>Thu, 1 Dec 2011 02:01:12 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16936" author="shotdsherrif" created="Thu, 1 Dec 2011 01:59:12 +0000"  >&lt;p&gt;I was able to find a way to override the ATTR_AUTO_ACCESSOR_OVERRIDE with a method in the appConfiguration.class.php file&lt;/p&gt;

&lt;p&gt;based on this thread ... &lt;a href=&quot;http://stackoverflow.com/questions/7266293/attr-auto-accessor-override&quot; class=&quot;external-link&quot;&gt;http://stackoverflow.com/questions/7266293/attr-auto-accessor-override&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But it is still a difficult error to troubleshoot ... not clear on what the reserved keyword &quot;data&quot; had to do with it ... considering I wasn&apos;t even using it in the schema&lt;/p&gt;

&lt;p&gt;Would be interested in finding some resources that go into detail on the implications of the command line context that symfony relies on&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1056] Doctrine is not compatible with PHP 5.4 due to change in serialize() behaviour.</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1056</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In PHP 5.4 there is a change in the way the object references are serialized:&lt;/p&gt;

&lt;p&gt;Quote:&lt;br/&gt;
&quot;Support for object references in recursive serialize() calls&lt;br/&gt;
Prior to PHP 5.4, object references where not saved in recursive serialize calls.&quot;&lt;/p&gt;

&lt;p&gt;This minor change, breaks down serialization of collections when column of type &quot;array&quot; is present - double serialization occurs.&lt;br/&gt;
I&apos;m attaching a patch fixing the issue.&lt;/p&gt;
</description>
                <environment>PHP 5.4+</environment>
            <key id="13751">DC-1056</key>
            <summary>Doctrine is not compatible with PHP 5.4 due to change in serialize() behaviour.</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mg">Marcin Gil</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Jun 2012 08:03:39 +0000</created>
                <updated>Mon, 28 Jan 2013 19:45:13 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Record</component>
                <component>Relations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="18837" author="colin.darie" created="Mon, 15 Oct 2012 14:02:29 +0000"  >&lt;p&gt;I confirm for possible future readers: this patch works perfectly well. (cf github for several forks of doctrine with other bugfixes).&lt;/p&gt;</comment>
                    <comment id="19430" author="st3b3n" created="Sun, 27 Jan 2013 19:10:57 +0000"  >&lt;p&gt;Hi all, does somebody knows where can I get a copy of the Doctrine 1.2.4 version but running on php 5.4?&lt;br/&gt;
Thise version you&apos;re talking about&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="19431" author="mg" created="Mon, 28 Jan 2013 08:05:59 +0000"  >&lt;p&gt;I sent you URL to our private svn repo.&lt;/p&gt;</comment>
                    <comment id="19432" author="st3b3n" created="Mon, 28 Jan 2013 19:45:13 +0000"  >&lt;p&gt;Thanks, you&apos;ve saved mi life &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/biggrin.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11197" name="Record.php.patch" size="1032" author="mg" created="Mon, 4 Jun 2012 13:59:32 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-994] Doctrine_Data_Import creates unnecessary transactions, big slowdown </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-994</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;While trying to load ~25M data fixtures (one big table with relations to 4 smaller ones, sfGuard included in that, row size around 500 bytes) in Symfony i ended up waiting around 80 minutes, while waiting i looked at what could have make it so dreadfully slow. Turns out, when Doctrine_Data_Load gets UnitOfWorks it executes save() on every new record. Save makes it&apos;s own transaction - not a problem if it&apos;s nested, but when this is the main transactions, 70000 of them make quite a difference. Remember - one of the main factors of DBMS speed is transactions/second.&lt;/p&gt;

&lt;p&gt;I patched Doctrine_Data_Import to wrap everything in one transaction, and the results were great - from 80 minutes i got down to around 10. Still, not as fast as it should be but now it&apos;s usable. The time difference is notable also in smaller dumps.&lt;/p&gt;

&lt;p&gt;Patch to speed up loading times included, would be great if you add it to trunk.&lt;/p&gt;

&lt;p&gt;Please note - i have not checked this patch with any other setup or DBMS, please do so. &lt;/p&gt;

&lt;p&gt;Also i have noticed something that might be a problem in much larger loads - if wrapping in a single transaction, my total memory usage went up for about 500M higher than in 70000 transactions. At some point, about 5 minutes in the process some kind of garbage collector fired and freed around 1 gig, so perhaps on larger dumps it might be a good idea to wrap the import not in one, but more transactions (like one transaction every 10000 operations).&lt;/p&gt;</description>
                <environment>MySQL, symfony doctrine:load-data</environment>
            <key id="12537">DC-994</key>
            <summary>Doctrine_Data_Import creates unnecessary transactions, big slowdown </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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="chanibal">Krzysztof Bociurko / ChanibaL</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Apr 2011 14:29:27 +0000</created>
                <updated>Tue, 5 Apr 2011 14:29:27 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="10966" name="Doctrine_Data_Import-wrap-in-transaction.patch" size="810" author="chanibal" created="Tue, 5 Apr 2011 14:29:27 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-992] I18n - Translated fields are not deleted when record in master table is deleted</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-992</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have used I18n behavior for my application using the following:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
{
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;setTableName(&apos;products&apos;);

        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;id&apos;, &apos;integer&apos;, 4, 
            array(&apos;fixed&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, 
                  &apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, 
                  &apos;autoincrement&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));

        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;permalink&apos;, &apos;string&apos;, 255,
            array(&apos;notnull&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
        
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;title&apos;, &apos;string&apos;, 255, 
            array(&apos;notnull&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
            
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;teaser&apos;, &apos;string&apos;, 255, 
            array(&apos;notnull&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
            
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;content&apos;, &apos;clob&apos;, 32767);
}

&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
{   
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;actAs(&apos;I18n&apos;, array(
                &apos;fields&apos; =&amp;gt; array(&apos;title&apos;, &apos;teaser&apos;, &apos;content&apos;)
            )
        );
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Doctrine has created two tables db named products and products_translation.&lt;/p&gt;

&lt;p&gt;Insert and update of the record is working fine but when i perform a deletion of a record, the record is deleted from the products table but the translations stored in products translation table are not deleted.&lt;/p&gt;</description>
                <environment>Windows XP, xampp 1.7.3 (PHP 5.3.1)</environment>
            <key id="12525">DC-992</key>
            <summary>I18n - Translated fields are not deleted when record in master table is deleted</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tfotis">Thanasis Fotis</reporter>
                        <labels>
                    </labels>
                <created>Sun, 3 Apr 2011 07:28:13 +0000</created>
                <updated>Fri, 28 Oct 2011 05:42:02 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16707" author="gamesh" created="Fri, 28 Oct 2011 05:42:02 +0000"  >&lt;p&gt;if you are not using transaction type tables like innoDB you need to set &apos;appLevelDelete&apos; =&amp;gt; TRUE option for I18n&lt;br/&gt;
it&apos;s not documented feature as i found out.&lt;/p&gt;

&lt;p&gt;$this-&amp;gt;actAs(&apos;I18n&apos;, array(&lt;br/&gt;
                &apos;fields&apos; =&amp;gt; array(&apos;title&apos;, &apos;teaser&apos;, &apos;content&apos;),&lt;br/&gt;
               &apos;appLevelDelete&apos; =&amp;gt; TRUE,&lt;br/&gt;
            )&lt;br/&gt;
        );&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-991] Views abstraction model </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-991</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;View abstraction model &lt;/p&gt;

&lt;p&gt;Hi, i&apos;ve been using doctrine from about six months, i&apos;m not an expert but i know the basics and this has been enough for me and my web-app requirements. The problem begins cause i need a kind of &quot;dynamic table model&quot; in other words an specific one table&apos;s abstraction, i thought implement a view for this purpose, but i can&apos;t figure out how define the BaseModel for the view to use it like a table, thus allowing the use of methods like save(), find() and build (logicals) relationships with others entities. in few words: can i build a table model from a query/view?, it is possible? i read the posts from above but this issue still being not realy clear at all for me.&lt;/p&gt;

&lt;p&gt;me realy will apreciate any help, thanks in advance.&lt;/p&gt;

&lt;p&gt;Regards.&lt;/p&gt;</description>
                <environment>all</environment>
            <key id="12506">DC-991</key>
            <summary>Views abstraction model </summary>
                <type id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/documentation.png">Documentation</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="lacroixdj">Jesus Far&#237;as Lacroix</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Mar 2011 11:06:48 +0000</created>
                <updated>Mon, 28 Mar 2011 11:06:48 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-989] Doctrine_Connection::execute() and Doctrine_Connection::exec() fail if Doctrine_Event::skipOperation() is triggered</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-989</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In order to generate SQL from migrations, an event listener was attached to the migration system to monitor for preQuery and preExec events.&lt;/p&gt;

&lt;p&gt;In an attempt to prevent the migration from additionally writing the query to the database, the skipOperation method was triggered, and supposedly allowed for n the execute() and exec() methods of Doctrine_Connection&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;eg. Doctrine_Connection::execute()&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt; 
$this-&amp;gt;getAttribute(Doctrine_Core::ATTR_LISTENER)-&amp;gt;preQuery($event);

if ( ! $event-&amp;gt;skipOperation) {
    $stmt = $this-&amp;gt;dbh-&amp;gt;query($query);
    $this-&amp;gt;_count++;
}
$this-&amp;gt;getAttribute(Doctrine_Core::ATTR_LISTENER)-&amp;gt;postQuery($event);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;unfortunately setting this option in the event listener breaks execution of the migration system as the $count/$stmtn variables (used in the methods) are no longer defined, triggering E_NOTICE, and the fetch* methods (eg fetchColumn) also break as they are chaining methods without testing for the return. theerfore, even if the $stmnt variable was created as initially null, the system would still throw an E_FATAL as the NULL variable doest provide the ::fetchColumn() methods (etc).&lt;/p&gt;

&lt;p&gt;Quite a serious flaw as 2 areas of code do not provide a consistent approach to how to work with events.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12486">DC-989</key>
            <summary>Doctrine_Connection::execute() and Doctrine_Connection::exec() fail if Doctrine_Event::skipOperation() is triggered</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="temperedvision">David Dixon</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Mar 2011 07:43:36 +0000</created>
                <updated>Tue, 22 Mar 2011 07:43:36 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-988] migrations should allow generation of SQL in place of DB manipulation</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-988</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;At present migrations only allow for direct manipulation of the underlying database. However, many enterprise release processes disallow automated manipulation of databases (especially Oracle) due to a number of reasons (eg placing different objects in different table spaces). &lt;/p&gt;

&lt;p&gt;Because of this, it is preferable for developers to auto generate SQL and then hand over the specialist DBAs who may then filter/alter as needed on a per-environment basis.&lt;/p&gt;

&lt;p&gt;this is currently very easy to achieve with initial database query generation, as outputting SQL is an option, but there is no such option for migration scripts. Therefore I would like to request this option to be added to the migration class.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12482">DC-988</key>
            <summary>migrations should allow generation of SQL in place of DB manipulation</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="temperedvision">David Dixon</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Mar 2011 12:44:19 +0000</created>
                <updated>Mon, 21 Mar 2011 12:44:19 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-986] createIndexSql and dropConstant do not correct set index name suffix</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-986</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Current export methods are inconsitent with index/constraint name suffix (defautl %_idx). Both createConstraintSql() and dropIndex() methods correctly set the suffix, but dropConstraint() and createIndexSql() do not.&lt;/p&gt;

&lt;p&gt;this causes associated down() methods to fail when reverting changes to indexes/constraints&lt;/p&gt;

&lt;p&gt;Erros occur in : Export.php - lines 137 and 473&lt;/p&gt;</description>
                <environment>linux, oracle</environment>
            <key id="12480">DC-986</key>
            <summary>createIndexSql and dropConstant do not correct set index name suffix</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="temperedvision">David Dixon</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Mar 2011 12:17:26 +0000</created>
                <updated>Wed, 23 Mar 2011 10:52:48 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-985] doctrine migration does not use tblname_format</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-985</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Migration commands update the database without correcting the default tablename using pre-set tblename_format parameters in databases.yml.&lt;/p&gt;

&lt;p&gt;There is a method for updating the tablename, but this appears to not be used by any script.&lt;/p&gt;</description>
                <environment>linux, oracle</environment>
            <key id="12479">DC-985</key>
            <summary>doctrine migration does not use tblname_format</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="temperedvision">David Dixon</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Mar 2011 12:13:28 +0000</created>
                <updated>Mon, 21 Mar 2011 12:13:28 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-984] Pessimistic locking locks entire table rather than record</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-984</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When using pessimistic locking as described in:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/component-overview:locking-manager:examples/zh&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/component-overview:locking-manager:examples/zh&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the locking manager locks the entire table rather than the specific object. &lt;/p&gt;

&lt;p&gt;This should be clear from the attached patch which corrects the issue (assuming I have correctly interpreted the intention of pessimistic locking!).&lt;/p&gt;

&lt;p&gt;The current behavior will have worked as expected for users but it will have locked far more than was intended and may thus have affected performance.&lt;/p&gt;

&lt;p&gt;NB: I can confirm this works for non-composite keys but please review and test for composite keys as I have no such tables to hand.&lt;/p&gt;</description>
                <environment>Standard LAMP stack using current SVN from &lt;a href=&quot;http://svn.doctrine-project.org/branches/1.2/lib/Doctrine/Locking/Manager&quot;&gt;http://svn.doctrine-project.org/branches/1.2/lib/Doctrine/Locking/Manager&lt;/a&gt;</environment>
            <key id="12471">DC-984</key>
            <summary>Pessimistic locking locks entire table rather than record</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="barryo">Barry O&apos;Donovan</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Mar 2011 07:53:30 +0000</created>
                <updated>Thu, 13 Dec 2012 13:13:16 +0000</updated>
                                    <version>1.2.4</version>
                                                <component>Transactions</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="16657" author="barryo" created="Tue, 18 Oct 2011 07:49:18 +0000"  >&lt;p&gt;Folks - just wondering if anyone had a chance to look at this as, while not critical, it does appear to be a genuinely major performance issue.&lt;/p&gt;</comment>
                    <comment id="19132" author="greg0ire" created="Thu, 13 Dec 2012 13:13:16 +0000"  >&lt;p&gt;Duplicate with more information : &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-185&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-185&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10953" name="Doctrine_Locking_Manager_Pessimistic.diff" size="855" author="barryo" created="Wed, 16 Mar 2011 07:53:30 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-983] Fixtures loading is repeated for each database connections</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-983</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Bug found when working on project ma-residence.fr. Data loading was repeated twice, and in the second run, empty rows were inserted in database, resulting in major headache in development team.&lt;/p&gt;

&lt;p&gt;A same flush tree is built for each connections. It results in multiple loops of data load when there is more than one connection.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12459">DC-983</key>
            <summary>Fixtures loading is repeated for each database connections</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ludovicv">Ludovic Vigouroux</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Mar 2011 08:44:04 +0000</created>
                <updated>Tue, 8 Mar 2011 09:03:51 +0000</updated>
                                                                    <component>Data Fixtures</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15474" author="ludovicv" created="Tue, 8 Mar 2011 09:03:51 +0000"  >&lt;p&gt;A proposition to fix it is on github &lt;a href=&quot;https://github.com/ludovig/doctrine1&quot; class=&quot;external-link&quot;&gt;https://github.com/ludovig/doctrine1&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-982] Options for building models aren&apos;t forwarded from CLI to Manager instance</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-982</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I.e.: generate_models_options and classPrefix option isn&apos;t forwared from CLI configuration to create table task (which uses the Manager&apos;s options).&lt;/p&gt;</description>
                <environment></environment>
            <key id="12448">DC-982</key>
            <summary>Options for building models aren&apos;t forwarded from CLI to Manager instance</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="maciej.strzelecki">Maciej Strzelecki</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Mar 2011 08:39:10 +0000</created>
                <updated>Fri, 4 Mar 2011 08:39:10 +0000</updated>
                                    <version>1.2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-981] Class prefix isn&apos;t being appended when importing data</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-981</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Configuration:&lt;/p&gt;

&lt;p&gt;Doctrine_Manager::getInstance()-&amp;gt;setAttribute(Doctrine_Core::ATTR_MODEL_CLASS_PREFIX, &apos;Foo_&apos;);&lt;/p&gt;

&lt;p&gt;Schema:&lt;/p&gt;

&lt;p&gt;Bar:&lt;br/&gt;
  columns:&lt;br/&gt;
    baz: int&lt;/p&gt;

&lt;p&gt;Fixtures:&lt;/p&gt;

&lt;p&gt;Bar:&lt;br/&gt;
    Bar_1:&lt;br/&gt;
      baz: 1&lt;/p&gt;

&lt;p&gt;Error on importing data: &quot;Couldn&apos;t find class Bar.&quot;&lt;/p&gt;

&lt;p&gt;Doctrine should use Foo_Bar class for Bar model instead Bar class.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12447">DC-981</key>
            <summary>Class prefix isn&apos;t being appended when importing data</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="maciej.strzelecki">Maciej Strzelecki</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Mar 2011 08:23:40 +0000</created>
                <updated>Fri, 4 Mar 2011 08:23:40 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Cli</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1051] Timestampable listener does not set timestamp fields on a copy of a Doctrine_Record</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1051</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The Timestampable Listener only sets the timestamp if the timestamp field has not been modified:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ( ! isset($modified[$createdName])) {
  $event-&amp;gt;getInvoker()-&amp;gt;$createdName = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTimestamp(&apos;created&apos;, $event-&amp;gt;getInvoker()-&amp;gt;getTable()-&amp;gt;getConnection());
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When saving a copy of a Doctrine_Record that doesn&apos;t already have the timestamp fields set fails to be updated, leading to integrity constraint violation (&quot;created_at cannot be NULL&quot;).  The reason is that all unset fields in the copy are set to an instance of Doctrine_Null, which is considered to be modifed according to the condition tested for above.  To fix the issue, I modified the code above to read:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ( ! isset($modified[$createdName]) || $modified[$createdName] &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; Doctrine_Null) {
  $event-&amp;gt;getInvoker()-&amp;gt;$createdName = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTimestamp(&apos;created&apos;, $event-&amp;gt;getInvoker()-&amp;gt;getTable()-&amp;gt;getConnection());
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13526">DC-1051</key>
            <summary>Timestampable listener does not set timestamp fields on a copy of a Doctrine_Record</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jeremyajohnson">Jeremy Johnson</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Mar 2012 03:35:04 +0000</created>
                <updated>Thu, 6 Sep 2012 14:26:30 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Timestampable</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="18612" author="blopblop" created="Thu, 6 Sep 2012 10:47:23 +0000"  >&lt;p&gt;Your fix works great, I have also added the fix for the preupdate function and in one more place in the preinsert function.&lt;br/&gt;
Lines affected: 65, 73, 91.&lt;br/&gt;
Attached the file with the fixes:&lt;br/&gt;
( C:\php5\PEAR\symfony\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Template\Listener\Timestampable.php )&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;code&amp;#93;&lt;/span&gt;&lt;br/&gt;
    /**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Set the created and updated Timestampable columns when a record is inserted&lt;br/&gt;
     *&lt;/li&gt;
	&lt;li&gt;@param Doctrine_Event $event&lt;/li&gt;
	&lt;li&gt;@return void&lt;br/&gt;
     */&lt;br/&gt;
    public function preInsert(Doctrine_Event $event)&lt;br/&gt;
    {&lt;br/&gt;
        if ( ! $this-&amp;gt;_options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;created&amp;#39;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;disabled&amp;#39;&amp;#93;&lt;/span&gt;) 
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: {            $createdName = $event-&amp;gt;getInvoker()-&amp;gt;getTable()-&amp;gt;getFieldName($this-&amp;gt;_options[&amp;#39;created&amp;#39;][&amp;#39;name&amp;#39;]);            $modified = $event-&amp;gt;getInvoker()-&amp;gt;getModified();            if ( ! isset($modified[$createdName]) || $modified[$createdName] instanceof Doctrine_Null) {
                $event-&amp;gt;getInvoker()-&amp;gt;$createdName = $this-&amp;gt;getTimestamp(&apos;created&apos;, $event-&amp;gt;getInvoker()-&amp;gt;getTable()-&amp;gt;getConnection());
            }        }&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;        if ( ! $this-&amp;gt;_options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;updated&amp;#39;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;disabled&amp;#39;&amp;#93;&lt;/span&gt; &amp;amp;&amp;amp; $this-&amp;gt;_options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;updated&amp;#39;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;onInsert&amp;#39;&amp;#93;&lt;/span&gt;) {&lt;br/&gt;
            $updatedName = $event-&amp;gt;getInvoker()&lt;del&gt;&amp;gt;getTable()&lt;/del&gt;&amp;gt;getFieldName($this-&amp;gt;_options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;updated&amp;#39;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;name&amp;#39;&amp;#93;&lt;/span&gt;);&lt;br/&gt;
            $modified = $event-&amp;gt;getInvoker()-&amp;gt;getModified();&lt;br/&gt;
            if ( ! isset($modified&lt;span class=&quot;error&quot;&gt;&amp;#91;$updatedName&amp;#93;&lt;/span&gt;) || $modified&lt;span class=&quot;error&quot;&gt;&amp;#91;$updatedName&amp;#93;&lt;/span&gt; instanceof Doctrine_Null) &lt;/p&gt;
{
                $event-&amp;gt;getInvoker()-&amp;gt;$updatedName = $this-&amp;gt;getTimestamp(&apos;updated&apos;, $event-&amp;gt;getInvoker()-&amp;gt;getTable()-&amp;gt;getConnection());
            }&lt;br/&gt;
        }&lt;br/&gt;
    }&lt;br/&gt;
&lt;br/&gt;
    /**&lt;br/&gt;
     * Set updated Timestampable column when a record is updated&lt;br/&gt;
     *&lt;br/&gt;
     * @param Doctrine_Event $evet&lt;br/&gt;
     * @return void&lt;br/&gt;
     */&lt;br/&gt;
    public function preUpdate(Doctrine_Event $event)&lt;br/&gt;
    {&lt;br/&gt;
        if ( ! $this-&amp;gt;_options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;updated&amp;#39;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;disabled&amp;#39;&amp;#93;&lt;/span&gt;) {&lt;br/&gt;
            $updatedName = $event-&amp;gt;getInvoker()&lt;del&gt;&amp;gt;getTable()&lt;/del&gt;&amp;gt;getFieldName($this-&amp;gt;_options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;updated&amp;#39;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;name&amp;#39;&amp;#93;&lt;/span&gt;);&lt;br/&gt;
			//echo &quot;updatedName: &quot;; var_dump(updatedName);&lt;br/&gt;
            $modified = $event-&amp;gt;getInvoker()-&amp;gt;getModified();&lt;br/&gt;
            if ( ! isset($modified&lt;span class=&quot;error&quot;&gt;&amp;#91;$updatedName&amp;#93;&lt;/span&gt;) || $modified&lt;span class=&quot;error&quot;&gt;&amp;#91;$updatedName&amp;#93;&lt;/span&gt; instanceof Doctrine_Null) {
                $event-&amp;gt;getInvoker()-&amp;gt;$updatedName = $this-&amp;gt;getTimestamp(&apos;updated&apos;, $event-&amp;gt;getInvoker()-&amp;gt;getTable()-&amp;gt;getConnection());
            }
&lt;p&gt;        }&lt;br/&gt;
    }&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;/code&amp;#93;&lt;/span&gt;&lt;br/&gt;
------------------&lt;/p&gt;


&lt;p&gt;Also there is another problem too. If you dont disable the widgets of the fields updated_at and created_at, sometimes they are sending the date time information in the $form, and the function preUpdate doesnt update the update_at because the date time has been sent. The best option is to disable the widgets and form validation in global scope, here:&lt;br/&gt;
&amp;lt;?php&lt;/p&gt;

&lt;p&gt;/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Project form base class.&lt;br/&gt;
 *&lt;/li&gt;
	&lt;li&gt;@package    dbvui&lt;/li&gt;
	&lt;li&gt;@subpackage form&lt;/li&gt;
	&lt;li&gt;@author     Your name here&lt;/li&gt;
	&lt;li&gt;@version    SVN: $Id: sfDoctrineFormBaseTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $&lt;br/&gt;
 */&lt;br/&gt;
abstract class BaseFormDoctrine extends sfFormDoctrine&lt;br/&gt;
{&lt;br/&gt;
  public function setup()&lt;br/&gt;
  {&lt;br/&gt;
  	//Following code will remove Required validators from these fields.&lt;br/&gt;
  	if (isset($this-&amp;gt;validatorSchema))&lt;br/&gt;
  	{&lt;br/&gt;
  		if (isset($this-&amp;gt;validatorSchema&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;created_at&amp;#39;&amp;#93;&lt;/span&gt;))
  		{
	  		unset($this-&amp;gt;validatorSchema[&apos;created_at&apos;]);
  		}&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;  		if (isset($this-&amp;gt;validatorSchema&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;updated_at&amp;#39;&amp;#93;&lt;/span&gt;))&lt;/p&gt;
  		{
	  		unset($this-&amp;gt;validatorSchema[&apos;updated_at&apos;]);
  		}
&lt;p&gt;  	}&lt;/p&gt;

&lt;p&gt;  	if (isset($this-&amp;gt;widgetSchema))&lt;br/&gt;
  	{&lt;br/&gt;
	  	//following code will remove fields from form&lt;br/&gt;
  		if (isset($this-&amp;gt;widgetSchema&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;created_at&amp;#39;&amp;#93;&lt;/span&gt;))&lt;/p&gt;
  		{
	  		unset($this-&amp;gt;widgetSchema[&apos;created_at&apos;]);
  		}

&lt;p&gt;  		if (isset($this-&amp;gt;widgetSchema&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;updated_at&amp;#39;&amp;#93;&lt;/span&gt;))&lt;/p&gt;
  		{
	  		unset($this-&amp;gt;widgetSchema[&apos;updated_at&apos;]);
  		}
&lt;p&gt;  	}&lt;br/&gt;
  }&lt;br/&gt;
}&lt;/p&gt;</comment>
                    <comment id="18613" author="blopblop" created="Thu, 6 Sep 2012 10:50:41 +0000"  >&lt;p&gt;fixed&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11318" name="Timestampable.php" size="5266" author="blopblop" created="Thu, 6 Sep 2012 10:50:40 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-453] Joined records stated as dirty (whereas they are not modified)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-453</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When you retrieve records like this:&lt;/p&gt;

&lt;p&gt;(Here I have Labels, that have Albums)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;    $lab = Doctrine::getTable(&apos;Label&apos;)-&amp;gt;createQuery(&apos;lab&apos;)&lt;br/&gt;
      -&amp;gt;leftJoin(&apos;lab.Albums alb&apos;)&lt;br/&gt;
      -&amp;gt;select(&apos;lab.id, alb.id&apos;)&lt;br/&gt;
      -&amp;gt;where(&apos;lab.id = ?&apos;, 1)&lt;br/&gt;
      -&amp;gt;fetchOne();&lt;/p&gt;&lt;/blockquote&gt; 

&lt;p&gt;$lab-&amp;gt;state() is STATE_PROXY : it&apos;s ok, properties are not all loaded from the DB and the object is not modified&lt;/p&gt;

&lt;p&gt;BUT $lab-&amp;gt;Albums&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;-&amp;gt;state() is STATE_DIRTY : why ? the object is not modified...&lt;/p&gt;

&lt;p&gt;This causes real problems, because this way, joined objects unloaded properties are corrupted : it really behaves like they all are &quot;null&quot;, and that&apos;s all. Their real values are never loaded from the DB.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10780">DC-453</key>
            <summary>Joined records stated as dirty (whereas they are not modified)</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="theredled">Beno&#238;t Guchet</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Jan 2010 10:31:37 +0000</created>
                <updated>Thu, 29 Jul 2010 15:58:54 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12244" author="theredled" created="Mon, 15 Mar 2010 16:51:14 +0000"  >&lt;p&gt;No way to correct that ?&lt;/p&gt;</comment>
                    <comment id="12245" author="jwage" created="Mon, 15 Mar 2010 16:54:24 +0000"  >&lt;p&gt;Can you provide a test case? are you sure it is dirty or you had the object instance prior to the query and it was dirty there?&lt;/p&gt;</comment>
                    <comment id="12248" author="theredled" created="Mon, 15 Mar 2010 17:09:30 +0000"  >&lt;p&gt;Actually the given sample code is written to be a test case (Label/Albums can be any other basic Parent/Children relation). &lt;br/&gt;
You retrieve an object, join a child relation, selects only some fields from the children =&amp;gt; those children are Dirty.&lt;/p&gt;

&lt;p&gt;Yes I&apos;m sure it is dirty, the Album object does not exist before that, the script does nothing else than this query. The object was born dirty, so to speak.&lt;/p&gt;</comment>
                    <comment id="12249" author="jwage" created="Mon, 15 Mar 2010 17:12:41 +0000"  >&lt;p&gt;Sorry, I meant a Doctrine unit test case. Not just some pasted code in the issue.&lt;/p&gt;</comment>
                    <comment id="13731" author="mstrzele" created="Thu, 29 Jul 2010 15:58:54 +0000"  >&lt;p&gt;I have the same problem, but I have a deeper relation. The clue of it is that, that  in Albums&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt; is setting id of relation with lab.id (cause of that change STATE_DIRTY is set), and after that operation getModiefied method return array with one element &lt;br/&gt;
array(&lt;br/&gt;
  id =&amp;gt; lab.id&lt;br/&gt;
)&lt;/p&gt;

&lt;p&gt;The bug is that, that in releted object after hydration setting releted id changing state of record -&amp;gt; it is wrong behavior, becaus nothing changed -&amp;gt; record has releted id with value, which is exactly the same as in DB.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-449] Duplicate entry integrity constraint error when updating Searchable record with indexed fields from a template</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-449</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have the following:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&amp;lt;?php
class JS_Page &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
	{
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;setTableName(&apos;page&apos;);
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumns(array(
			&apos;id&apos; =&amp;gt; array(
				&apos;type&apos;		=&amp;gt; &apos;integer&apos;,
				&apos;length&apos;	=&amp;gt; 4,
				&apos;primary&apos;	=&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
				&apos;autoincrement&apos;	=&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
			),
			&apos;content&apos; =&amp;gt; array(
				&apos;type&apos;		=&amp;gt; &apos;array&apos;,
				&apos;length&apos;	=&amp;gt; 65536,
				&apos;notnull&apos;	=&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
				&apos;&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;&apos;	=&amp;gt; array(),
			),
		));
	}

	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
	{
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;actAs(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; JS_Template_Meta());
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;actAs(&apos;Searchable&apos;, array(
			&apos;fields&apos;	=&amp;gt; array(&apos;title&apos;, &apos;description&apos;, &apos;keywords&apos;),
			&apos;tableName&apos;	=&amp;gt; &apos;page_index&apos;,
		));
	}
}

class JS_Template_Meta &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Template
{
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
	{
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumns(array(
			&apos;title&apos; =&amp;gt; array(
				&apos;type&apos;		=&amp;gt; &apos;string&apos;,
				&apos;length&apos;	=&amp;gt; 255,
				&apos;notnull&apos;	=&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
			),
			&apos;description&apos; =&amp;gt; array(
				&apos;type&apos;		=&amp;gt; &apos;string&apos;,
			),
			&apos;keywords&apos; =&amp;gt; array(
				&apos;type&apos;		=&amp;gt; &apos;string&apos;,
				&apos;length&apos;	=&amp;gt; 255,
			),
		));
	}
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When a Page record is updated I get this error:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry &apos;application-title-0-3&apos; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; key 1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If I only index fields from Page it works.&lt;/p&gt;

&lt;p&gt;I tracked this down to the code in Doctrine_Search that deletes the existing indexed data before re-indexing a record (I&apos;m not using batchUpdate). For reasons I don&apos;t understand the DELETE query is not executing correctly before re-indexing, and so any unchanged data is being added to the index twice, causing the error.&lt;/p&gt;

&lt;p&gt;I managed to work around this by adding my own template and listener before Searchable, with a preSave event that deletes the index data:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;...
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;actAs(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; JS_Template_Searchable());
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;actAs(&apos;Searchable&apos;, array(
			&apos;fields&apos;	=&amp;gt; array(&apos;title&apos;, &apos;description&apos;, &apos;keywords&apos;),
			&apos;tableName&apos;	=&amp;gt; &apos;page_index&apos;,
		));
...

class JS_Template_Searchable &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Template
{
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
	{
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;addListener(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; JS_Template_Searchable_Listener());
	}
}

class JS_Template_Searchable_Listener &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record_Listener
{
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function preSave(Doctrine_Event $event)
	{
		$invoker = $event-&amp;gt;getInvoker();
		$class = get_class($invoker) . &apos;Index&apos;;
		$query = Doctrine_Query::create()
			-&amp;gt;delete()
			-&amp;gt;from(&lt;span class=&quot;code-quote&quot;&gt;&quot;{$class} i&quot;&lt;/span&gt;)
			-&amp;gt;where(&lt;span class=&quot;code-quote&quot;&gt;&quot;i.id = ?&quot;&lt;/span&gt;, $invoker[&apos;id&apos;])
			-&amp;gt;execute();
	}
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Obviously that&apos;s an ugly hack, but it works.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10775">DC-449</key>
            <summary>Duplicate entry integrity constraint error when updating Searchable record with indexed fields from a template</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jacksleight">Jack Sleight</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Jan 2010 10:56:49 +0000</created>
                <updated>Mon, 25 Jan 2010 10:58:24 +0000</updated>
                                    <version>1.2.1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-447] Problem linking many-to-many relationships</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-447</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;Here&apos;s a small usage example of linking many-to-many relationships. The group is not linked with the user after calling link() as can be seen by comparing the group ids before and after the call.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;schema.yml&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;User:
  tableName: users
  columns:
    username:      { type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
    email:         { type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
  indexes:
    username_idx:
      fields: [username]
      type:   unique
    email_idx:
      fields: [email]
      type:   unique
  actAs: [Timestampable]
  relations:
    groups:
      class:    Group
      alias:    Groups
      refClass: UserGroupRelation

Group:
  tableName: groups
  columns:
    name: { type: string(255), notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
  actAs: [Timestampable, NestedSet]
  relations:
    users:
      class:    User
      alias:    Users
      refClass: UserGroupRelation

UserGroupRelation:
  tableName: user_group_relations
  columns:
    user_id:  { type: integer, notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
    group_id: { type: integer, notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; }
  relations:
    Group:
      class:        Group
      foreignAlias: UserGroupRelations
      onDelete:     CASCADE
    User:
      class:        User
      foreignAlias: UserGroupRelations
      onDelete:     CASCADE
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;test.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$u = Doctrine_Core::getTable(&apos;User&apos;)-&amp;gt;findOneByUsername(&apos;james&apos;);
$g = Doctrine_Core::getTable(&apos;Group&apos;)-&amp;gt;findOneByName(&apos;group&apos;);
var_dump($g[&apos;id&apos;]);
$current = array();
foreach ($u[&apos;UserGroupRelations&apos;] as $r) {
    $current[] = $r[&apos;group_id&apos;];
}
var_dump($current);
$u-&amp;gt;link(&apos;Groups&apos;, array($g[&apos;id&apos;]), &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);
$u = Doctrine_Core::getTable(&apos;User&apos;)-&amp;gt;findOneByUsername(&apos;james&apos;);
$current = array();
foreach ($u[&apos;UserGroupRelations&apos;] as $r) {
    $current[] = $r[&apos;group_id&apos;];
}
var_dump($current);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;Output&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;string(1) &lt;span class=&quot;code-quote&quot;&gt;&quot;2&quot;&lt;/span&gt;
array(3) {
  [0]=&amp;gt;
  string(1) &lt;span class=&quot;code-quote&quot;&gt;&quot;1&quot;&lt;/span&gt;
  [1]=&amp;gt;
  string(1) &lt;span class=&quot;code-quote&quot;&gt;&quot;5&quot;&lt;/span&gt;
  [2]=&amp;gt;
  string(1) &lt;span class=&quot;code-quote&quot;&gt;&quot;6&quot;&lt;/span&gt;
}
array(3) {
  [0]=&amp;gt;
  string(1) &lt;span class=&quot;code-quote&quot;&gt;&quot;1&quot;&lt;/span&gt;
  [1]=&amp;gt;
  string(1) &lt;span class=&quot;code-quote&quot;&gt;&quot;5&quot;&lt;/span&gt;
  [2]=&amp;gt;
  string(1) &lt;span class=&quot;code-quote&quot;&gt;&quot;6&quot;&lt;/span&gt;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; </description>
                <environment>Windows Vista x86 SP2, PHP 5.2.x</environment>
            <key id="10773">DC-447</key>
            <summary>Problem linking many-to-many relationships</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ree">Rytis Daugirdas</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Jan 2010 08:57:18 +0000</created>
                <updated>Mon, 25 Jan 2010 09:00:18 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-450] ORACLE: The generate DQL with i18n behavior doesn&apos;t correct</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-450</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;My schema:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;---
Country:
  tableName:          country
  actAs:
    SoftDelete:       ~
    Timestampable:    ~
    I18n:
      fields:         [name]
      className:      %CLASS%I18n
      tableName:      %TABLE%_i18n
      length:         5
  columns:
    id:
      type:           integer(3)
      primary:        true
      unsigned:       true
      sequence:       country
    created_at:
      type:           timestamp
    updated_at:
      type:           timestamp
    enabled_at:
      type:           timestamp
      notnull:        true
    disabled_at:
      type:           timestamp
    iso_code:
      type:           string(2)
    marc_code:
      type:           string(3)
    name:
      type:           string(255)
      notnull:        true
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;DQL query:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$country = Doctrine::getTable(&apos;Country&apos;)-&amp;gt;findOneByMarcCode(&apos;sz&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Error:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
ORA-00904: &lt;span class=&quot;code-quote&quot;&gt;&quot;C&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;NAME&quot;&lt;/span&gt;: invalid identifier : SELECT a.* FROM ( SELECT c.id AS c__id, c.created_at AS c__created_at, c.updated_at AS c__updated_at, c.enabled_at AS 
c__enabled_at, c.disabled_at AS c__disabled_at, c.iso_code AS c__iso_code, c.marc_code AS c__marc_code, c.name AS c__name, c.deleted_at AS c__deleted_at FROM
common.country c WHERE (c.marc_code = :oci_b_var_1) ) a WHERE ROWNUM &amp;lt;= 1 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;In this line, i show the field &quot;name&quot;, but this field is in table translation. The DQL above is very complicated for only simple request. Why ?&lt;/p&gt;

&lt;p&gt;Thank&apos;s&lt;/p&gt;

&lt;p&gt;Bertrand&lt;/p&gt;</description>
                <environment></environment>
            <key id="10776">DC-450</key>
            <summary>ORACLE: The generate DQL with i18n behavior doesn&apos;t correct</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="garfield-fr">Bertrand Zuchuat</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Jan 2010 11:22:54 +0000</created>
                <updated>Thu, 18 Mar 2010 06:54:44 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>I18n</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12323" author="garfield-fr" created="Thu, 18 Mar 2010 06:54:44 +0000"  >&lt;p&gt;I don&apos;t have a real connection on Oracle Server. This test doesn&apos;t return the error above.&lt;/p&gt;

&lt;p&gt;Please test on real connection.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10491" name="DC450TestCase.php" size="4518" author="garfield-fr" created="Thu, 18 Mar 2010 06:53:00 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-443] Incorrect insert order in i18n entities</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-443</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If the schema has an entity MyMain with all its fields i18n and an entity MySecondary related to MyMain and you try to create a new MySecondary item using Symfony forms you get an error.&lt;/p&gt;

&lt;p&gt;I think the error is doctrine and in i18n because if you remove a field from the i18n behavior (&lt;tt&gt;fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;a,b,c,d&amp;#93;&lt;/span&gt;&lt;/tt&gt;, for example) all works ok.&lt;br/&gt;
I&apos;ve included a symfony project to help developpers replicate the error.&lt;/p&gt;

&lt;p&gt;My Schema&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
MyMain:
  actAs:
    I18n:
      fields: [a,b,c,d, e]
  columns:
    a:  { type: string(255), notnull: true }
    b:  { type: string(255), notnull: true }
    c:  string
    d:  string
    e:  string

MySecondary:
  columns:
    my_main_id:  integer
    a:        string(255)
    b:        string(255)
  relations:
    MyMain:
      local: my_main_id
      foreign: id
      foreignType: one
      cascade: [delete]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;And the form code&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;class MyMainForm extends BaseMyMainForm
{
  public function configure()
  {
    $this-&amp;gt;embedI18n(array(&apos;en&apos;, &apos;es&apos;));
  }
}

class MySecondaryForm extends BaseMySecondaryForm
{
  public function configure()
  {
    $this-&amp;gt;widgetSchema[&apos;my_main_id&apos;] = new sfWidgetFormInputHidden();
    $this-&amp;gt;embedRelation(&apos;MyMain as main_subform&apos;);
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And last the queries (and its order when you get the error)&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;INSERT INTO my_secondary (my_main_id, a, b) VALUES (?, ?, ?) - (, my_secondary[a], my_secondary[b])
INSERT INTO my_main_translation (id, lang, a, b, c, d, e) VALUES (?, ?, ?, ?, ?, ?, ?) - 
  (, en, my_secondary[main_subform][en][a], my_secondary[main_subform][en][b], my_secondary[main_subform][en][c], 
   my_secondary[main_subform][en][d], my_secondary[main_subform][en][e])
Error Doctrine_Connection_Mysql_Exception	SQLSTATE[23000]: Integrity constraint violation: 1048 Column &apos;id&apos; cannot be null 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Linux (2.6.21 kernel)&lt;br/&gt;
Apache/2.2.6&lt;br/&gt;
PHP 5.2.6&lt;br/&gt;
symfony version 1.4.1&lt;br/&gt;
doctrine 1.2</environment>
            <key id="10758">DC-443</key>
            <summary>Incorrect insert order in i18n entities</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rodrigobb">Rodrigo Borrego Bernab&#233;</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Jan 2010 11:29:13 +0000</created>
                <updated>Fri, 22 Jan 2010 11:29:13 +0000</updated>
                                                                    <component>I18n</component>
                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="10308" name="i18nrelation_problem.tgz" size="27753" author="rodrigobb" created="Fri, 22 Jan 2010 11:29:13 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-442] Refined definition of relations regarding &quot;copy()&quot; cloning behaviour</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-442</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine&apos;s cloning feature is based on the Doctrine_Record::copy($deep = false) method, while the $deep param says whether to clone the related objects as well, or not.&lt;/p&gt;

&lt;p&gt;However, considering the perspective of the application logic, the functional need can also be stated as: &quot;I wish you to clone yourself, expecting you to know yourself which related objects you need to clone as well, or even to de-reference, or whatever is needed (e.g. to remove the relation).&quot;&lt;br/&gt;
For this, the $deep argument is somehow inaccurate, as it does not take into consideration the different meanings of the relations:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;some relations (namely aggregations in UML terminology) need that the cloned object shall still refer to the same object (like referenced by the cloned object)&lt;/li&gt;
	&lt;li&gt;some relations (namely compositions) need to clone the related objects as well, as the latter are owned by the main object.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Practical example: when cloning an invoice (Doctrine_Record), application logic expects that its invoice line items be cloned as well (compositions), but not the reference to the customer (cloning my customers this way will not increase my business &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/wink.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;.&lt;/p&gt;

&lt;p&gt;Thus it would be great if there were a means to specify the needed behaviour in the schema.yml etc.&lt;br/&gt;
Thinkable approach: extend the &quot;application-level cascade&quot; feature of Doctrine by adding a &quot;clone&quot; or &quot;copy&quot; parameters. Then the copy() method in Doctrine_Record will know which related objects to clone as well, or not, or to clear (null). I guess it&apos;s quite analogous to the &quot;delete&quot; cascade stuff.&lt;/p&gt;

&lt;p&gt;So far my proposal. In case it will find support, I will then be happy to provide an implementation proposal.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10757">DC-442</key>
            <summary>Refined definition of relations regarding &quot;copy()&quot; cloning behaviour</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rschumacher">Raphael Schumacher</reporter>
                        <labels>
                    </labels>
                <created>Thu, 21 Jan 2010 17:00:24 +0000</created>
                <updated>Wed, 10 Feb 2010 06:02:00 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-440] doctrine migration fails with taggable extension</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-440</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When adding the Taggable behaviour to an entity, the doctrine migration fails (i&apos;m using the symfony task) with the follwing error:&lt;/p&gt;

&lt;p&gt;&amp;gt;&amp;gt; doctrine  Migrating from version 0 to 1&lt;/p&gt;

&lt;p&gt;  The following errors occurred:                                                                                                                                           &lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign key constraint fails. Failing Query: &quot;DROP TABLE taggable_tag&quot;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;I have a single entity in my schema, with the Taggable behavior attached:&lt;/p&gt;

&lt;p&gt;Article:&lt;br/&gt;
  actAs:&lt;br/&gt;
    Taggable: ~&#160;&lt;br/&gt;
  columns:&lt;br/&gt;
    title:              &lt;/p&gt;
{ type: string(255), notnull: true }
&lt;p&gt;    body:               &lt;/p&gt;
{ type: clob }

&lt;p&gt;The Version1 class which was generate by the generate-migrations-diff task looks like this:&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;br/&gt;
/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;This class has been auto-generated by the Doctrine ORM Framework&lt;br/&gt;
 */&lt;br/&gt;
class Version1 extends Doctrine_Migration_Base&lt;br/&gt;
{&lt;br/&gt;
    public function up()
    {
        $this-&amp;gt;dropTable(&apos;taggable_tag&apos;);
    }&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;    public function down()&lt;/p&gt;
    {
        $this-&amp;gt;createTable(&apos;taggable_tag&apos;, array(
             &apos;id&apos; =&amp;gt; 
             array(
              &apos;type&apos; =&amp;gt; &apos;integer&apos;,
              &apos;length&apos; =&amp;gt; &apos;8&apos;,
              &apos;autoincrement&apos; =&amp;gt; &apos;1&apos;,
              &apos;primary&apos; =&amp;gt; &apos;1&apos;,
             ),
             &apos;name&apos; =&amp;gt; 
             array(
              &apos;unique&apos; =&amp;gt; &apos;1&apos;,
              &apos;type&apos; =&amp;gt; &apos;string&apos;,
              &apos;length&apos; =&amp;gt; &apos;255&apos;,
             ),
             ), array(
             &apos;type&apos; =&amp;gt; &apos;&apos;,
             &apos;indexes&apos; =&amp;gt; 
             array(
             ),
             &apos;primary&apos; =&amp;gt; 
             array(
              0 =&amp;gt; &apos;id&apos;,
             ),
             &apos;collate&apos; =&amp;gt; &apos;&apos;,
             &apos;charset&apos; =&amp;gt; &apos;&apos;,
             ));
    }
&lt;p&gt;}&lt;/p&gt;</description>
                <environment>osx 10.6, apache 2, php 5.3, symfony 1.4</environment>
            <key id="10753">DC-440</key>
            <summary>doctrine migration fails with taggable extension</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="pulse00">Robert Gruendler</reporter>
                        <labels>
                    </labels>
                <created>Wed, 20 Jan 2010 19:42:50 +0000</created>
                <updated>Fri, 22 Jan 2010 11:18:02 +0000</updated>
                                    <version>1.2.0</version>
                <version>1.2.1</version>
                                                <component>Extensions</component>
                <component>Migrations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="11443" author="pulse00" created="Fri, 22 Jan 2010 11:17:38 +0000"  >&lt;p&gt;i think i found the reason for this. The sfDoctrineGenerateMigrationsDiffTask seems to build it&apos;s diff from yml schema files:&lt;/p&gt;

&lt;p&gt;protected function execute()....&lt;/p&gt;

&lt;p&gt;$this-&amp;gt;callDoctrineCli(&apos;generate-migrations-diff&apos;, array(&lt;br/&gt;
      &apos;yaml_schema_path&apos; =&amp;gt; $this-&amp;gt;prepareSchemaFile($config&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;yaml_schema_path&amp;#39;&amp;#93;&lt;/span&gt;),&lt;br/&gt;
    ));&lt;/p&gt;


&lt;p&gt;The task does not know anything about the models in the doctrine_extensions folder, and there are no yaml files for their&lt;br/&gt;
schema, so symfony migration tasks won&apos;t work with extensions.&lt;/p&gt;

&lt;p&gt;It would be great if this would be mentioned somewhere in the docs of the extensions.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-438] Nesting Taggable and I18N</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-438</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The Taggable extension doesnt work correctly when nested under I18N. &lt;br/&gt;
The  page_translation_taggable_tag table appears to be correctly created, it has 3 columns: id, lang, tag_id&lt;br/&gt;
But when you save a tag like this&lt;br/&gt;
$page-&amp;gt;Translation&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;en&amp;#39;&amp;#93;&lt;/span&gt;-&amp;gt;setTags(&apos;tag 1, tag2&apos;);&lt;br/&gt;
the lang column in page_translation_taggable_tag is empty&lt;br/&gt;
and this doesnt work either:&lt;br/&gt;
$page-&amp;gt;setTags(&apos;tag 1, tag2&apos;);&lt;/p&gt;

&lt;p&gt;Schema is this:&lt;br/&gt;
Page:&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields:          &lt;span class=&quot;error&quot;&gt;&amp;#91;title, contents&amp;#93;&lt;/span&gt;&lt;br/&gt;
      actAs:&lt;br/&gt;
        Taggable: ~&lt;br/&gt;
  columns:&lt;br/&gt;
    title:                &lt;/p&gt;
{type: string(255), notnull: true}
&lt;p&gt;    contents:       clob&lt;/p&gt;</description>
                <environment>PHP 5.2.6, MySQL 5.0.75, Symfony 1.3.1</environment>
            <key id="10749">DC-438</key>
            <summary>Nesting Taggable and I18N</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sorin">Sorin Neacsu</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Jan 2010 09:53:48 +0000</created>
                <updated>Tue, 19 Jan 2010 09:53:48 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Extensions</component>
                <component>I18n</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-436]  Change in 1.2 to Doctrine_Event::skipOperation() functionality</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-436</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have been using Doctrine 1.1.6.&lt;/p&gt;

&lt;p&gt;I have two related models, which are always saved together. In my application, save is called on class A and that save cascades to class B. I have a save listener which in some cases can intercept class A&apos;s save operation and call Doctrine_Event::skipOperation() to prevent class A from being persistently saved. However, in such cases, class B is still saved - the skipOperation() does not skip the entire operation, just class A&apos;s save operation, allowing subsequent operations to occur as normal.&lt;/p&gt;

&lt;p&gt;This is the desired functionality and has been working fine. However, I have just upgraded to 1.2.1. only to find that something has changed, causing the skipOperation() to skip the entire operation, therefore not saving class B when class A&apos;s listener interferes.&lt;/p&gt;

&lt;p&gt;I presume this is a bug. If not, what precisely has changed with skipOperation(), and how can I keep the traditional functionality? &lt;/p&gt;</description>
                <environment>Debian</environment>
            <key id="10744">DC-436</key>
            <summary> Change in 1.2 to Doctrine_Event::skipOperation() functionality</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ondistantshores">Cameron Ross</reporter>
                        <labels>
                    </labels>
                <created>Mon, 18 Jan 2010 00:37:02 +0000</created>
                <updated>Wed, 10 Feb 2010 06:02:18 +0000</updated>
                                    <version>1.2.1</version>
                                <fixVersion>1.1.6</fixVersion>
                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-432] ::isValidType fails when input format is different from php default format</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-432</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In Validator::isValidType():&lt;br/&gt;
    return (string)$var == strval(floatval($var));&lt;/p&gt;

&lt;p&gt;floatval($var) returns only the integer part if the decimal character is anything other than &quot;.&quot;. &lt;br/&gt;
Therefore this evaluation fails. &lt;/p&gt;

&lt;p&gt;I&apos;ve added a small function &apos;ParseFloat&apos; which takes locale settings into consideration. &lt;br/&gt;
There might be a better solution.&lt;/p&gt;
</description>
                <environment>Windows XP (XAMPP Apache) &amp;amp; Linux </environment>
            <key id="10736">DC-432</key>
            <summary>::isValidType fails when input format is different from php default format</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jonr">J&#243;n Ragnarsson</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Jan 2010 15:13:12 +0000</created>
                <updated>Tue, 8 Jun 2010 16:55:41 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13213" author="jwage" created="Tue, 8 Jun 2010 16:55:41 +0000"  >&lt;p&gt;Can you provide the changes as patch?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10289" name="Validator.php" size="7696" author="jonr" created="Fri, 15 Jan 2010 15:13:12 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-430] I18n and inheritance</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-430</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When using i18n with inheritance, the localizables fields are overrinden by the second deriving class.&lt;br/&gt;
So, the translation table is containing only fields from one of the two descending classes.&lt;/p&gt;

&lt;p&gt;The yml is below:&lt;/p&gt;

&lt;p&gt;User:&lt;br/&gt;
  columns:&lt;br/&gt;
    email:            string(255)&lt;br/&gt;
    ...&lt;/p&gt;

&lt;p&gt;Employer:&lt;br/&gt;
  inheritance:&lt;br/&gt;
    extends:  User&lt;br/&gt;
    type: column_aggregation&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;description, company&amp;#93;&lt;/span&gt;&lt;br/&gt;
  columns:      &lt;br/&gt;
    company:  string(255)     &lt;br/&gt;
    description:  text&lt;/p&gt;

&lt;p&gt;Recruiter:&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;position&amp;#93;&lt;/span&gt;&lt;br/&gt;
  inheritance:&lt;br/&gt;
    extends:  User&lt;br/&gt;
    type: column_aggregation&lt;br/&gt;
  columns:&lt;br/&gt;
    position: string(255)&lt;/p&gt;</description>
                <environment>Doctrine 1.2 with Symfony 1.4</environment>
            <key id="10734">DC-430</key>
            <summary>I18n and inheritance</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jwconsulting">Julien Wadin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Jan 2010 12:55:49 +0000</created>
                <updated>Fri, 15 Jan 2010 12:55:49 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-427] Record Hydration error</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-427</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;schema.yml &lt;/p&gt;

&lt;p&gt;CheCategory:&lt;br/&gt;
  options:&lt;br/&gt;
    collate: utf8_unicode_ci&lt;br/&gt;
    charset: utf8&lt;br/&gt;
  actAs:&lt;br/&gt;
    Timestampable: ~&lt;br/&gt;
    NestedSet: ~&lt;br/&gt;
  columns:    &lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
CheItem:&lt;br/&gt;
  options:&lt;br/&gt;
    collate: utf8_unicode_ci&lt;br/&gt;
    charset: utf8&lt;br/&gt;
  actAs:&lt;br/&gt;
    Timestampable: ~&lt;br/&gt;
  columns:&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
    category_id:&lt;br/&gt;
      type: integer(12)    &lt;br/&gt;
  relations:&lt;br/&gt;
    CheItemPhoto:&lt;br/&gt;
      type: many&lt;br/&gt;
      local: id&lt;br/&gt;
      foreign: item_id&lt;br/&gt;
    CheItemAttribute:&lt;br/&gt;
      type: many&lt;br/&gt;
      local: id&lt;br/&gt;
      foreign: item_id&lt;br/&gt;
    CheCategory:&lt;br/&gt;
      local: category_id&lt;br/&gt;
      foreign: id&lt;/p&gt;

&lt;p&gt;CheAttribute:&lt;br/&gt;
  options:&lt;br/&gt;
    collate: utf8_unicode_ci&lt;br/&gt;
    charset: utf8&lt;br/&gt;
  columns:&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
    attr_type:&lt;br/&gt;
      type: integer(2)    &lt;br/&gt;
    label:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
    sort_order:&lt;br/&gt;
      type: integer(5)&lt;br/&gt;
      default: 9999&lt;br/&gt;
  relations:&lt;br/&gt;
    CheItemAttribute:      &lt;br/&gt;
      local: id&lt;br/&gt;
      foreign: attribute_id&lt;/p&gt;

&lt;p&gt;CheItemAttribute:&lt;br/&gt;
  options:&lt;br/&gt;
    collate: utf8_unicode_ci&lt;br/&gt;
    charset: utf8&lt;br/&gt;
  columns:&lt;br/&gt;
    item_id:&lt;br/&gt;
      type: integer(12)&lt;br/&gt;
    attr_value:&lt;br/&gt;
      type: clob&lt;br/&gt;
    attribute_id:&lt;br/&gt;
      type: integer(12)&lt;br/&gt;
  relations:&lt;br/&gt;
    CheItem:&lt;br/&gt;
      local: item_id&lt;br/&gt;
      foreign: id&lt;br/&gt;
    CheAttribute:&lt;br/&gt;
      local: attribute_id&lt;br/&gt;
      foreign: id&lt;/p&gt;

&lt;p&gt;CheItemPhoto:&lt;br/&gt;
  options:&lt;br/&gt;
    collate: utf8_unicode_ci&lt;br/&gt;
    charset: utf8&lt;br/&gt;
  actAs:&lt;br/&gt;
    Timestampable: ~&lt;br/&gt;
  columns:&lt;br/&gt;
    item_id:&lt;br/&gt;
      type: integer(12)&lt;br/&gt;
    basefile:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
    caption:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
    is_default:&lt;br/&gt;
      type: boolean&lt;br/&gt;
      default: false&lt;br/&gt;
  relations:&lt;br/&gt;
    CheItem:&lt;br/&gt;
      local: item_id&lt;br/&gt;
      foreign: id&lt;/p&gt;

&lt;p&gt;fixtures.yml&lt;/p&gt;

&lt;p&gt;CheAttribute:&lt;br/&gt;
  Attr_price:&lt;br/&gt;
    name: Price&lt;br/&gt;
    label: price&lt;br/&gt;
    sort_order: 1&lt;br/&gt;
    attr_type: &amp;lt;?php echo CheAttribute::ATTR_STRING.&quot;\n&quot; ?&amp;gt;&lt;br/&gt;
  Attr_desc:&lt;br/&gt;
    name: Desc&lt;br/&gt;
    label: desc&lt;br/&gt;
    sort_order: 2&lt;br/&gt;
    attr_type: &amp;lt;?php echo CheAttribute::ATTR_HTML.&quot;\n&quot; ?&amp;gt;&lt;/p&gt;

&lt;p&gt;CheCategory:&lt;br/&gt;
  Cat_0:&lt;br/&gt;
    name: Items category&lt;br/&gt;
    children:&lt;br/&gt;
      Cat_1:&lt;br/&gt;
        name: Cups&lt;br/&gt;
        children:&lt;br/&gt;
          Cat_2:&lt;br/&gt;
            name: Beer&lt;br/&gt;
          Cat_3:&lt;br/&gt;
            name: Tea&lt;br/&gt;
            children:&lt;br/&gt;
              Cat_5:&lt;br/&gt;
                name: China&lt;br/&gt;
              Cat_6:&lt;br/&gt;
                name: Russian&lt;br/&gt;
          Cat_4:&lt;br/&gt;
            name: Coffee&lt;/p&gt;

&lt;p&gt;CheItem:&lt;br/&gt;
  Item_8:&lt;br/&gt;
    name: Vobla&lt;br/&gt;
    CheCategory: Cat_1&lt;br/&gt;
  Item_1:&lt;br/&gt;
    name: Vobla2&lt;br/&gt;
    CheCategory: Cat_2&lt;/p&gt;

&lt;p&gt;CheItemAttribute:&lt;br/&gt;
  Ite_attr_0:&lt;br/&gt;
    CheItem: Item_1&lt;br/&gt;
    CheAttribute: Attr_price&lt;br/&gt;
    attr_value: 10&lt;br/&gt;
  Ite_attr_1:&lt;br/&gt;
    CheItem: Item_1&lt;br/&gt;
    CheAttribute: Attr_desc&lt;br/&gt;
    attr_value: abcsdd&lt;br/&gt;
  Ite_attr_2:&lt;br/&gt;
    CheItem: Item_8&lt;br/&gt;
    CheAttribute: Attr_price&lt;br/&gt;
    attr_value: 123&lt;br/&gt;
  Ite_attr_3:&lt;br/&gt;
    CheItem: Item_8&lt;br/&gt;
    CheAttribute: Attr_desc&lt;br/&gt;
    attr_value: test&lt;/p&gt;

&lt;p&gt;code:&lt;/p&gt;

&lt;p&gt;$b =  Doctrine::getTable(&quot;CheAttribute&quot;)&lt;del&gt;&amp;gt;createQuery(&quot;A2&quot;)&lt;/del&gt;&amp;gt;leftJoin(&quot;A2.CheItemAttribute IA2 WITH IA2.item_id = ?&quot;, 2)&lt;del&gt;&amp;gt;addOrderBy(&quot;A2.sort_order ASC&quot;)&lt;/del&gt;&amp;gt;execute();    &lt;/p&gt;

&lt;p&gt;    var_dump($b&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;del&gt;&amp;gt;getCheItemAttribute()&lt;/del&gt;&amp;gt;getAttrValue());&lt;/p&gt;



&lt;p&gt;    $tb =  Doctrine::getTable(&quot;CheAttribute&quot;)&lt;del&gt;&amp;gt;createQuery(&quot;A&quot;)&lt;/del&gt;&amp;gt;leftJoin(&quot;A.CheItemAttribute IA WITH IA.item_id = ?&quot;, 1)&lt;del&gt;&amp;gt;addOrderBy(&quot;A.sort_order ASC&quot;)&lt;/del&gt;&amp;gt;execute();   &lt;/p&gt;

&lt;p&gt;    var_dump($tb&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;del&gt;&amp;gt;getCheItemAttribute()&lt;/del&gt;&amp;gt;getAttrValue());&lt;br/&gt;
    exit();&lt;/p&gt;

&lt;p&gt;in browser i see:&lt;/p&gt;

&lt;p&gt;string &apos;10&apos; (length=2)&lt;/p&gt;

&lt;p&gt;string &apos;10&apos; (length=2)&lt;/p&gt;

&lt;p&gt;but expected:&lt;/p&gt;

&lt;p&gt;10&lt;/p&gt;

&lt;p&gt;123&lt;/p&gt;

&lt;p&gt;With hydration Array &amp;amp; Scalar hydrated data is ok. &lt;/p&gt;






</description>
                <environment>Ubuntu 9.04&lt;br/&gt;
Apache 2.2.9 &lt;br/&gt;
PHP 5.2.6-3ubuntu4.2 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 21 2009 19:14:44)&lt;br/&gt;
Copyright (c) 1997-2008 The PHP Group&lt;br/&gt;
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with Xdebug v2.0.3, Copyright (c) 2002-2007, by Derick Rethans&lt;br/&gt;
MySQL 5.0.75-0ubuntu10.2 (Ubuntu)&lt;br/&gt;
Symfony 1.4.1</environment>
            <key id="10729">DC-427</key>
            <summary>Record Hydration error</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mixadior">Diordienko Mykhail</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Jan 2010 19:50:59 +0000</created>
                <updated>Thu, 14 Jan 2010 19:50:59 +0000</updated>
                                    <version>1.2.1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-426] Doctrine incorrectly assigns a NULL value to primary key fields</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-426</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi, &lt;/p&gt;

&lt;p&gt;in my project (MySQL 5.x, PHP 5.2.x), I use a combined primary key which looks as follows:&lt;/p&gt;

&lt;p&gt;$this-&amp;gt;hasColumn(&quot;guid&quot;, 		&quot;string&quot;, 	32,		array(&apos;primary&apos; =&amp;gt; true));&lt;br/&gt;
$this-&amp;gt;hasColumn(&quot;revision&quot;, 	&quot;integer&quot;, 	4,		array(&apos;primary&apos; =&amp;gt; true));&lt;br/&gt;
$this-&amp;gt;hasColumn(&quot;language&quot;, 	&quot;string&quot;, 	32,		array(&apos;primary&apos; =&amp;gt; true));&lt;/p&gt;

&lt;p&gt;My project automatically initializes the GUID and revision fields, but language is left empty. Doctrine assumes that NULL is a good value, and uses the NULL value after saving an object to reload it. This results in the following statement, generated by the find()-Method within Table.php:&lt;/p&gt;

&lt;p&gt;SELECT b.guid AS b_&lt;em&gt;guid, b.revision AS b&lt;/em&gt;&lt;em&gt;revision, b.language AS b&lt;/em&gt;&lt;em&gt;language, b.active AS b&lt;/em&gt;&lt;em&gt;active, b.title AS b&lt;/em&gt;&lt;em&gt;title, b.content AS b&lt;/em&gt;&lt;em&gt;content, b.category AS b&lt;/em&gt;_category FROM blog_entry b WHERE (b.guid = &apos;505f1a2d13864fa4aef461aa1b5b37a3&apos; AND b.revision = &apos;1&apos; AND b.language = NULL)&lt;/p&gt;

&lt;p&gt;Since MySQL does not allow NULL values in primary keys, MySQL uses an empty string (&apos;&apos;). Doctrine should also use an empty string as default value if the primary key consists of a string, OR issue a warning that MySQL does not allow NULL values in primary keys. The problem with this &quot;bug&quot; is that problems occur in situations where you do not expect them, for example, when storing objects.&lt;/p&gt;

&lt;p&gt;If a test case is required, just tell me and I&apos;ll prepare one.&lt;/p&gt;

&lt;p&gt;Thanks and best regards,&lt;br/&gt;
Timo&lt;/p&gt;</description>
                <environment></environment>
            <key id="10728">DC-426</key>
            <summary>Doctrine incorrectly assigns a NULL value to primary key fields</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="alek202">Timo A. Hummel</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Jan 2010 17:25:56 +0000</created>
                <updated>Thu, 14 Jan 2010 17:25:56 +0000</updated>
                                    <version>1.2.1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-417] Unexpected results with equal many-to-many relations</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-417</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;print_r&apos;s before refresh represent what i hoped to get and after that what was inserted into db.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;INSERT INTO match_reference (match_id, user_id) VALUES (?, ?)
Array
(
    [0] =&amp;gt; 2
    [1] =&amp;gt; 1
)


UPDATE match_reference SET match_id = ? WHERE user_id = ? AND match_id = ?
Array
(
    [0] =&amp;gt; 1
    [1] =&amp;gt; 1
    [2] =&amp;gt; 2
)


INSERT INTO match_reference (match_id, user_id) VALUES (?, ?)
Array
(
    [0] =&amp;gt; 3
    [1] =&amp;gt; 2
)


INSERT INTO match_reference (match_id, user_id) VALUES (?, ?)
Array
(
    [0] =&amp;gt; 4
    [1] =&amp;gt; 2
)
Array
(
    [0] =&amp;gt; Array
        (
            [id] =&amp;gt; 2
            [username] =&amp;gt; 2
        )

)
Array
(
    [0] =&amp;gt; Array
        (
            [id] =&amp;gt; 1
            [username] =&amp;gt; 1
        )

    [1] =&amp;gt; Array
        (
            [id] =&amp;gt; 3
            [username] =&amp;gt; 3
        )

    [2] =&amp;gt; Array
        (
            [id] =&amp;gt; 4
            [username] =&amp;gt; 4
        )

)
Array
(
)
Array
(
    [0] =&amp;gt; Array
        (
            [id] =&amp;gt; 3
            [username] =&amp;gt; 3
        )

    [1] =&amp;gt; Array
        (
            [id] =&amp;gt; 4
            [username] =&amp;gt; 4
        )

)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;schema/schema.yml&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;---
User:
  columns:
    username: string(255)
  relations:
    Matches:
      class: User
      local: user_id
      foreign: match_id
      refClass: MatchReference
      equal: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      cascade: [delete]

MatchReference:
  columns:
    user_id:
      type: integer
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    match_id:
      type: integer
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;index.php&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;require_once(&apos;config.php&apos;);

Doctrine::loadModels(&apos;models&apos;);

Doctrine_Query::create()
    -&amp;gt;delete(&apos;User&apos;)
    -&amp;gt;execute();

Doctrine_Query::create()
    -&amp;gt;delete(&apos;MatchReference&apos;)
    -&amp;gt;execute();

$u1 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User();
$u1-&amp;gt;id = $u1-&amp;gt;username = 1;
$u1-&amp;gt;save();

$u2 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User();
$u2-&amp;gt;id = $u2-&amp;gt;username = 2;
$u2-&amp;gt;save();

$u3 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User();
$u3-&amp;gt;id = $u3-&amp;gt;username = 3;
$u3-&amp;gt;save();

$u4 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User();
$u4-&amp;gt;id = $u4-&amp;gt;username = 4;
$u4-&amp;gt;save();

$profiler = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Connection_Profiler();
Doctrine_Manager::getInstance()-&amp;gt;getCurrentConnection()-&amp;gt;addListener($profiler);

$user_1 = Doctrine::getTable(&apos;User&apos;)-&amp;gt;find(1);

$matches = Doctrine_Query::create()
    -&amp;gt;from(&apos;User&apos;)
    -&amp;gt;whereIn(&apos;id&apos;, array(2))
    -&amp;gt;execute(array(), Doctrine::HYDRATE_ARRAY);

$match = $matches[0];

$user_1-&amp;gt;link(&apos;Matches&apos;, array($match[&apos;id&apos;]));
$user_1-&amp;gt;save();

$user_2 = Doctrine::getTable(&apos;User&apos;)-&amp;gt;find(2);

$matches = Doctrine_Query::create()
-&amp;gt;from(&apos;User&apos;)
-&amp;gt;whereIn(&apos;id&apos;, array(3, 4))
-&amp;gt;execute(array(), Doctrine::HYDRATE_ARRAY);

foreach ($matches as $match) {
    $user_2-&amp;gt;link(&apos;Matches&apos;, array($match[&apos;id&apos;]));
}

$user_2-&amp;gt;save();

foreach ($profiler as $event) {
    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (in_array($event-&amp;gt;getName(), array(&apos;execute&apos;)) &amp;amp;&amp;amp; preg_match(&apos;/^(INSERT|UPDATE)/&apos;, $event-&amp;gt;getQuery())) {
        echo print_r($event-&amp;gt;getQuery(), &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;) . &lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt;;
        echo print_r($event-&amp;gt;getParams(), &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;) . &lt;span class=&quot;code-quote&quot;&gt;&quot;\n\n&quot;&lt;/span&gt;;
    }
}

print_r($user_1-&amp;gt;Matches-&amp;gt;toArray());
print_r($user_2-&amp;gt;Matches-&amp;gt;toArray());

$user_1-&amp;gt;refresh(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);
$user_2-&amp;gt;refresh(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);

print_r($user_1-&amp;gt;Matches-&amp;gt;toArray());
print_r($user_2-&amp;gt;Matches-&amp;gt;toArray());

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>PHP 5.2.10-2ubuntu6.3 with Suhosin-Patch 0.9.7 (cli) (built: Nov 26 2009 14:52:57) &lt;br/&gt;
MySQL 5.0.84-0.dotdeb.0&lt;br/&gt;
Doctrine-1.1.6-Sandbox</environment>
            <key id="10712">DC-417</key>
            <summary>Unexpected results with equal many-to-many relations</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ihff">Ivo V&#245;sa</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Jan 2010 16:52:08 +0000</created>
                <updated>Thu, 14 Jan 2010 13:05:39 +0000</updated>
                                    <version>1.1.6</version>
                <version>1.2.1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="11364" author="ihff" created="Mon, 11 Jan 2010 17:23:57 +0000"  >&lt;p&gt;Just tested it on 1.2.1 with same results.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-412] Error defining &quot;unique&quot; constraint in a translated (i18n) column</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-412</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Let&apos;s suppose we have a class &quot;Element&quot;  with columns &quot;name&quot; and &quot;description&quot;.&lt;/p&gt;

&lt;p&gt;We want to set an &quot;unique&quot; constraint in column &quot;name&quot;, and set the I18n behavior to columns name and description.&lt;/p&gt;

&lt;p&gt;In the generated translation table &quot;element_translation&quot;, doctrine sets an unique constraint in the column &quot;name&quot;. This is an error, as various languages could translate that string in the same way. I think that the &quot;unique&quot; constraint should be set to the combination of columns &quot;name&quot; and &quot;lang&quot;, so the restriction applies for a given language.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10705">DC-412</key>
            <summary>Error defining &quot;unique&quot; constraint in a translated (i18n) column</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="davefx">David Mar&#237;n Carre&#241;o</reporter>
                        <labels>
                    </labels>
                <created>Sat, 9 Jan 2010 08:53:18 +0000</created>
                <updated>Sun, 10 Jan 2010 21:18:56 +0000</updated>
                                                                    <component>I18n</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-403] Eliminate queries produced by Doctrine_Node_NestedSet::getDescendants() when possible</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-403</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;h3&gt;&lt;a name=&quot;Howtoreproduce&quot;&gt;&lt;/a&gt;How to reproduce&lt;/h3&gt;

&lt;ol&gt;
	&lt;li&gt;fetch a tree with nested set
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$root = Doctrine::getTable($model)-&amp;gt;getTree()-&amp;gt;findRoot($rootId);
$treeObject= Doctrine::getTable($model)-&amp;gt;getTree()-&amp;gt;fetchTree($root-&amp;gt;getId()); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
	&lt;li&gt;issue
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$root-&amp;gt;getNode()-&amp;gt;getChildren();

or there will be a total query mess in a lambda function with a loop getChildren().
...
&amp;lt;?php foreach($root-&amp;gt;getChildren() as $child): ?&amp;gt;
   ....
&amp;lt;?php endforeach; ?&amp;gt;
...

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Problem is described more verbosely here &amp;#8211; &lt;a href=&quot;http://codeutopia.net/blog/2008/08/30/understanding-doctrines-nestedset-feature/&quot; class=&quot;external-link&quot;&gt;http://codeutopia.net/blog/2008/08/30/understanding-doctrines-nestedset-feature/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Whatbehaviorisexpected&quot;&gt;&lt;/a&gt;What behavior is expected&lt;/h3&gt;
&lt;p&gt;An already fetched record instance is returned, without calling database and without causing query flooding.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Likeinpropel.&quot;&gt;&lt;/a&gt;Like in propel.&lt;/h3&gt;
&lt;p&gt;In propel if you are calling ....::retrieveTree($id) it returns the root&lt;br/&gt;
with completed, pooled (cached) and linked  tree.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Whathappens&quot;&gt;&lt;/a&gt;What happens&lt;/h3&gt;
&lt;p&gt;An additional query is issued&lt;/p&gt;

&lt;p&gt;This is a big slip in architecture of Doctrine`s nested set implementation.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10693">DC-403</key>
            <summary>Eliminate queries produced by Doctrine_Node_NestedSet::getDescendants() when possible</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="zidler">alex</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Jan 2010 20:52:18 +0000</created>
                <updated>Fri, 16 Apr 2010 12:18:05 +0000</updated>
                                    <version>1.2.1</version>
                                <fixVersion>1.2.0</fixVersion>
                                <component>Nested Set</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-396] Add timezone support for time and timestamp datatype in PostgreSQL</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-396</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Please add support for the types of time with timezone and timestamp with timezone in the Doctrine when using PostgreSQL.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10681">DC-396</key>
            <summary>Add timezone support for time and timestamp datatype in PostgreSQL</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="phprus">Vladislav</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Jan 2010 10:01:12 +0000</created>
                <updated>Sun, 19 Aug 2012 05:29:02 +0000</updated>
                                    <version>1.2.1</version>
                                                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18526" author="alepot" created="Sun, 19 Aug 2012 01:58:16 +0000"  >&lt;p&gt;I came across this problem because I prefer to store timezone information instead of local dates. &lt;/p&gt;

&lt;p&gt;I believe this is resolved by the attached patch, which patches the Timestampable template and it&apos;s listener to create and maintain &apos;timestamp with timezone&apos; in Postgresql.&lt;/p&gt;
</comment>
                </comments>
                    <attachments>
                    <attachment id="11313" name="timestampable.diff" size="2567" author="alepot" created="Sun, 19 Aug 2012 05:26:16 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-400] bit(1) columns are broken</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-400</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Ihave the following Doctrine schema:&lt;/p&gt;

&lt;p&gt;&amp;#8212;&lt;br/&gt;
TestTable:&lt;br/&gt;
    columns:&lt;br/&gt;
        bitty: bit(1)&lt;/p&gt;

&lt;p&gt;I have created the database and table for this. I then have the following PHP code:&lt;/p&gt;

&lt;p&gt;$obj1 = new TestTable();&lt;br/&gt;
$obj1&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;bitty&amp;#39;&amp;#93;&lt;/span&gt; = b&apos;0&apos;;&lt;br/&gt;
$obj1-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;$obj2 = new TestTable();&lt;br/&gt;
$obj2&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;bitty&amp;#39;&amp;#93;&lt;/span&gt; = 0;&lt;br/&gt;
$obj2-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;Clearly my attempt is to save the bit value 0 in the bitty column.&lt;/p&gt;

&lt;p&gt;However after running this PHP code I get the following odd results:&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; select * from test_table;&lt;br/&gt;
&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; id &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; bitty &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;  1 &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;  2 &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;br/&gt;
2 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; select * from test_table where bitty = 1;&lt;br/&gt;
&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; id &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; bitty &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;  1 &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;  2 &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;--&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;br/&gt;
2 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; select * from test_table where bitty = 0;                &lt;br/&gt;
Empty set (0.00 sec)&lt;/p&gt;

&lt;p&gt;Those boxes are the 0x01 character, i.e. Doctrine has set the value to 1, not 0.&lt;/p&gt;

&lt;p&gt;However I can insert 0&apos;s into that table direct from MySQL:&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; insert into test_table values (4, b&apos;0&apos;);&lt;br/&gt;
Query OK, 1 row affected (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; select * from test_table where bitty = 0;&lt;br/&gt;
&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; id &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; bitty &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;/p&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;  4 &lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;ins&gt;---&lt;del&gt;&lt;/ins&gt;&lt;/del&gt;------+&lt;br/&gt;
1 row in set (0.00 sec)&lt;/p&gt;


&lt;p&gt;See also this question on StackOverflow &lt;a href=&quot;http://stackoverflow.com/questions/2008021/php-doctrine-orm-not-able-to-handle-bit1-types-correctly&quot; class=&quot;external-link&quot;&gt;http://stackoverflow.com/questions/2008021/php-doctrine-orm-not-able-to-handle-bit1-types-correctly&lt;/a&gt;&lt;/p&gt;</description>
                <environment>Ubuntu 9.10 php 5.2 mysql 5.1, all installed with ubuntu&amp;#39;s apt</environment>
            <key id="10688">DC-400</key>
            <summary>bit(1) columns are broken</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rorymccann">Rory McCann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Jan 2010 09:33:34 +0000</created>
                <updated>Mon, 11 Apr 2011 15:38:55 +0000</updated>
                                                                    <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-392] Let the parser ignore .* (hidden) files</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-392</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When generating models from yml files starting with a `.&apos; such as temporary files from certain editors and meta files from OS X are also parsed by the importer. I do not see any reasons too include these hidden files in parsing as they are hidden for a purpose. And there would be no point in deliberately using hidden files for your config files.&lt;/p&gt;

&lt;p&gt;Also see:&lt;br/&gt;
&lt;a href=&quot;http://blog.rajatpandit.com/2009/08/23/doctrine_parser_exception-fail-some-error-message/&quot; class=&quot;external-link&quot;&gt;http://blog.rajatpandit.com/2009/08/23/doctrine_parser_exception-fail-some-error-message/&lt;/a&gt;&lt;br/&gt;
and&lt;br/&gt;
&lt;a href=&quot;http://alessandrovermeulen.me/2010/01/01/doctrine-unable-to-parse-string-unable-to-parse-line-0/&quot; class=&quot;external-link&quot;&gt;http://alessandrovermeulen.me/2010/01/01/doctrine-unable-to-parse-string-unable-to-parse-line-0/&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="10671">DC-392</key>
            <summary>Let the parser ignore .* (hidden) files</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="spockz">Alessandro Vermeulen</reporter>
                        <labels>
                    </labels>
                <created>Sat, 2 Jan 2010 21:58:09 +0000</created>
                <updated>Tue, 8 Jun 2010 15:19:18 +0000</updated>
                                    <version>1.1.6</version>
                                                <component>File Parser</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="11310" author="spockz" created="Sat, 2 Jan 2010 21:58:53 +0000"  >&lt;p&gt;Added affected versions.&lt;/p&gt;</comment>
                    <comment id="13200" author="jwage" created="Tue, 8 Jun 2010 15:19:18 +0000"  >&lt;p&gt;We can include this fix in 1.2.3, does anyone have a patch? If not I&apos;ll try and hunt down the offending code and patch it. Not sure where it is off the top of my head anymore &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-390] doctrine_cache_keys bigger than 1mb</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-390</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When multiple projects using doctrine use the same memcached server the doctrine_cache_keys can get bigger then 1mb and php will be throwing warnings telling that the data is too big to be stored by memcached.&lt;/p&gt;

&lt;p&gt;I am currently using a workaround, having 1 doctrine_cache_keys per application, on the file Cache/Driver.php i added the following line to the constructor&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;$this-&amp;gt;_cacheKeyIndexKey = &apos;doctrine_cache_keys_&apos; . md5(Doctrine_Manager::getInstance()-&amp;gt;getCurrentConnection()-&amp;gt;getOption(&apos;dsn&apos;));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;but if an application uses more than 1mb en keys then the notice will rise again.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10669">DC-390</key>
            <summary>doctrine_cache_keys bigger than 1mb</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="crosspad">Douglas Yau</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Dec 2009 17:49:24 +0000</created>
                <updated>Wed, 27 Jan 2010 23:33:01 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Caching</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="11368" author="circlechu" created="Wed, 13 Jan 2010 13:33:10 +0000"  >&lt;p&gt;Why doctrine need to save the keys when it is timeout? I found doctrine will hold the duplicated keys in doctrine_cache_keys map. So this is why it will become more and more bigger.  So I think if I remove those duplicated key it will be better? Here is my solution&lt;br/&gt;
I add array_unique function to remove all duplicated keys in the map. This method is in the Doctrine_Cache_Driver class.&lt;/p&gt;

&lt;p&gt;    /**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Save a cache key in the index of cache keys&lt;br/&gt;
     *&lt;/li&gt;
	&lt;li&gt;@param string $key&lt;/li&gt;
	&lt;li&gt;@return boolean True if successful and false if something went wrong.&lt;br/&gt;
     */&lt;br/&gt;
    protected function _saveKey($key)
    {
        $keys = $this-&amp;gt;fetch($this-&amp;gt;_cacheKeyIndexKey);
        $keys[] = $key;
        $keys=array_unique ($keys);
        return $this-&amp;gt;save($this-&amp;gt;_cacheKeyIndexKey, $keys, null, false);
    }&lt;/li&gt;
&lt;/ul&gt;
</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                                <inwardlinks description="is referenced by">
                            <issuelink>
            <issuekey id="10795">DC-460</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-389] query cache doesn&apos;t cache _isLimitSubqueryUsed</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-389</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The problem is that _isLimitSubqueryUsed is not cached with query cache. &lt;br/&gt;
It gets calculated when building query, but when the query is coming &lt;br/&gt;
from cache it&apos;s not. &lt;br/&gt;
Because of this, line 1087 of Query/Abstract.php is never executed, &lt;br/&gt;
when coming from cache: &lt;br/&gt;
if ($this-&amp;gt;isLimitSubqueryUsed() &amp;amp;&amp;amp; &lt;br/&gt;
    $this-&amp;gt;_conn-&amp;gt;getAttribute(Doctrine::ATTR_DRIVER_NAME) !== &lt;br/&gt;
&apos;mysql&apos;) &lt;/p&gt;
{ 
    $params = array_merge((array) $params, (array) $params); 
} 

Maybe it is on purpose, but I didn&apos;t get any answer on the google-groups.

Here is a diff I use now: 
Index: trunk/gui/doctrine-library/Doctrine/Query/Abstract.php 
=================================================================== 
--- a/trunk/gui/doctrine-library/Doctrine/Query/Abstract.php 
+++ b/trunk/gui/doctrine-library/Doctrine/Query/Abstract.php 
@@ -1286,4 +1286,5 @@ 
         $cached = unserialize($cached); 
         $this-&amp;gt;_tableAliasMap = $cached[2]; 
+        $this-&amp;gt;_isLimitSubqueryUsed = $cached[3]; 
         $customComponent = $cached[0]; 
@@ -1346,5 +1347,5 @@ 
         }
&lt;p&gt; &lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;return serialize(array($customComponent, $componentInfo,&lt;br/&gt;
$this-&amp;gt;getTableAliasMap())); &lt;br/&gt;
+        return serialize(array($customComponent, $componentInfo, &lt;br/&gt;
$this-&amp;gt;getTableAliasMap(), $this-&amp;gt;isLimitSubqueryUsed())); &lt;br/&gt;
     }&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment>Postgres db, php5.2, linux</environment>
            <key id="10664">DC-389</key>
            <summary>query cache doesn&apos;t cache _isLimitSubqueryUsed</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="szotyi">Peter Kovacs</reporter>
                        <labels>
                    </labels>
                <created>Sat, 26 Dec 2009 20:53:34 +0000</created>
                <updated>Mon, 27 Jun 2011 18:06:25 +0000</updated>
                                    <version>1.1.5</version>
                <version>1.1.6</version>
                <version>1.2.4</version>
                                                <component>Caching</component>
                <component>Query</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="16082" author="grass" created="Mon, 27 Jun 2011 18:06:25 +0000"  >&lt;p&gt;This still seems to be a problem in version 1.2.4, rendering the query cache unusable for our project.&lt;br/&gt;
The suggested fix works fine, and seems to hold litte potential for trouble.&lt;/p&gt;

&lt;p&gt;Anyone still listening/reading here? We are aware of the EOL, but would love to produce a test case to anyone (&quot;official&quot;) trying to fix this - just not sure if it is still worth bothering...&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-383] Migrations not respecting ATTR_TBLNAME_FORMAT</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-383</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I am using Doctrine 1.2.1 and Migrations don&apos;t appear to respect Doctrine::ATTR_TBLNAME_FORMAT when creating or dropping tables.  This means while models create/drop tables with prefixes migrations don&apos;t.  Also the migration_version table is created without the prefix too even though it was apparently fixed in &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-245&quot; title=&quot;Table name prefix for table migration_version&quot;&gt;&lt;del&gt;DC-245&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I haven&apos;t tested but it also probably means other attributes like Doctrine::ATTR_IDXNAME_FORMAT and Doctrine::ATTR_SEQNAME_FORMAT are not obeyed either which makes things a little confusing knowing when to care for prefixes or not.&lt;/p&gt;</description>
                <environment>Debian 5, Apache 2, PHP 5.2.9, MySQL 5.1</environment>
            <key id="10658">DC-383</key>
            <summary>Migrations not respecting ATTR_TBLNAME_FORMAT</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="drak">Karma Dordrak (Drak)</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Dec 2009 13:25:38 +0000</created>
                <updated>Fri, 28 May 2010 06:13:28 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Attributes</component>
                <component>Migrations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13075" author="eman" created="Fri, 28 May 2010 06:13:28 +0000"  >&lt;p&gt;Simple patch to set the table name inside constructor&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10615" name="migration_table_prefix_doctrine_1.2.patch" size="424" author="eman" created="Fri, 28 May 2010 06:13:28 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-379] No description of ATTR_DEFAULT_IDENTIFIER_OPTIONS now in &quot;Chapter 4 Configuration&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-379</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In the previous (1.1) documentation version there were small but useful description about how to set up primary key (&lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_1/en/configuration#defaults-attributes:default-added-auto-id&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/documentation/manual/1_1/en/configuration#defaults-attributes:default-added-auto-id&lt;/a&gt;)&lt;br/&gt;
Now there is nothing about ATTR_DEFAULT_IDENTIFIER_OPTIONS and it takes about 20 minutes to debug and find out where did &quot;id&quot; field added&lt;/p&gt;

&lt;p&gt;ps: message &quot;If you find a problem with the documentation or have a suggestion, please register and open a ticket. &quot; in the bottom of the docs pages is ambiguous due to it points to trac :-$&lt;/p&gt;</description>
                <environment></environment>
            <key id="10652">DC-379</key>
            <summary>No description of ATTR_DEFAULT_IDENTIFIER_OPTIONS now in &quot;Chapter 4 Configuration&quot;</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="zerkms">zerkms</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Dec 2009 02:55:04 +0000</created>
                <updated>Wed, 23 Dec 2009 02:55:04 +0000</updated>
                                                                    <component>Documentation</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-372] I18n record generator assumes relation alias is the table name</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-372</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In Doctrine/I18n.php, method setTableDefinition, line 108:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;        foreach($relations as $table =&amp;gt; $relation) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But the $relations array key is not a table name, but a relation alias.&lt;/p&gt;

&lt;p&gt;So currently the generator assumes the relation alias IS the table name.&lt;br/&gt;
When it&apos;s not true, the I18n table definition fails.&lt;/p&gt;</description>
                <environment>latest symfony 1.4 SVN.</environment>
            <key id="10637">DC-372</key>
            <summary>I18n record generator assumes relation alias is the table name</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ornicar">thibault duplessis</reporter>
                        <labels>
                    </labels>
                <created>Sun, 20 Dec 2009 14:03:24 +0000</created>
                <updated>Sun, 20 Dec 2009 14:03:24 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>I18n</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-375] Doctrine_Table getTable singleton issue</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-375</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;first, i defined a table class :&lt;br/&gt;
class CohibaClientTable extends Doctrine_Table&lt;br/&gt;
{&lt;br/&gt;
    public $_pager;&lt;/p&gt;

&lt;p&gt;     public function getAbstractList($arrParam = array(), $page=1, $maxPerPage=20)&lt;br/&gt;
    {&lt;br/&gt;
        $objQuery = $this-&amp;gt;createQuery(&apos;t1&apos;)&lt;br/&gt;
            -&amp;gt;select(&apos;t1.*&apos;);&lt;/p&gt;

&lt;p&gt;        if(is_array($arrParam) &amp;amp;&amp;amp; count($arrParam)&amp;gt;0)&lt;/p&gt;
        {
            QueryAssistant::processOption($objQuery, $arrParam);  // dont set &quot;offset&quot; and &quot;limit&quot; option in it
        }

&lt;p&gt;        $this-&amp;gt;_pager = new Doctrine_Pager($objQuery, $page, $maxPerPage);&lt;/p&gt;

&lt;p&gt;        $items = $this-&amp;gt;_pager-&amp;gt;execute();&lt;/p&gt;

&lt;p&gt;        $objQuery-&amp;gt;free();&lt;br/&gt;
        return $items;&lt;br/&gt;
    }&lt;/p&gt;

&lt;p&gt;    public function getList($page=1, $maxPerPage=20)&lt;/p&gt;
    {
        $arrParam = array(
            &apos;orderBy&apos;=&amp;gt;&apos;t1.cle asc&apos;
        );

        return $this-&amp;gt;getAbstractList($arrParam, $page, $maxPerPage);
    }

&lt;p&gt;    public function getPager()&lt;/p&gt;
    {
        return $this-&amp;gt;_pager;
    }
&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;and then, in the action, invoke it like this codes:&lt;br/&gt;
1&amp;gt;&lt;br/&gt;
   $items = Doctrine::getTable(&quot;CohibaClient&quot;)-&amp;gt;getList(1, $maxPerPage);&lt;br/&gt;
    $pager = Doctrine::getTable(&quot;CohibaClient&quot;)-&amp;gt;getPager();&lt;/p&gt;

&lt;p&gt;    $this-&amp;gt;log(&quot;total records: &quot;.$pager-&amp;gt;getNumResults().&quot; total page: &quot;.$pager-&amp;gt;getLastPage().&quot;\n&quot;);&lt;br/&gt;
    $lastPage = $pager-&amp;gt;getLastPage();&lt;br/&gt;
2&amp;gt;&lt;br/&gt;
   $table = Doctrine::getTable(&quot;CohibaClient&quot;);&lt;br/&gt;
   $items = $table-&amp;gt;getList(1, $maxPerPage);&lt;br/&gt;
   $pager = $table-&amp;gt;getPager();&lt;/p&gt;

&lt;p&gt;   $this-&amp;gt;log(&quot;total records: &quot;.$pager-&amp;gt;getNumResults().&quot; total page: &quot;.$pager-&amp;gt;getLastPage().&quot;\n&quot;);&lt;br/&gt;
   $lastPage = $pager-&amp;gt;getLastPage();&lt;/p&gt;

&lt;p&gt;#2 works, but not #1, error is &quot;Fatal error: Call to a member function getNumResults() on a non-object in.... &quot; is it an issue when singleton generation?&lt;/p&gt;</description>
                <environment>symfony 1.2.9</environment>
            <key id="10644">DC-375</key>
            <summary>Doctrine_Table getTable singleton issue</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="bennybi">ben bi</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Dec 2009 02:46:16 +0000</created>
                <updated>Tue, 22 Dec 2009 06:59:07 +0000</updated>
                                    <version>1.0.14</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-373] Relating to Translation table (generated by Doctrine_I18n) doesn&apos;t work correctly after resetting connection</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-373</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Relating to Translation table (generated by Doctrine_I18n) doesn&apos;t work correctly after resetting connection.&lt;/p&gt;

&lt;p&gt;First, I defined the following schema.yml::&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt; 
  Example:
    actAs:
      I18n:
        fields: [title]
    columns:
        title: string(128)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Next, I prepared the following fixture &lt;a href=&quot;file::&quot; class=&quot;external-link&quot;&gt;file::&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt; 
  Example:
    Example_1:
      Translation:
        en:
          title: &quot;Title&quot;
        ja:
          title: &quot;&#38988;&#21517;&quot;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Next, I run &quot;build-all-reload&quot; task. The table was created and data was loaded.&lt;/p&gt;

&lt;p&gt;And I write the following code::&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
  Doctrine_Core::loadModels(&apos;models&apos;);
  $example = Doctrine_Core::getTable(&apos;Example&apos;)-&amp;gt;find(1);
  
  var_dump(
    $example-&amp;gt;Translation[&apos;en&apos;]-&amp;gt;title,
    $example-&amp;gt;Translation[&apos;ja&apos;]-&amp;gt;title
  );
  
  Doctrine_Manager::resetInstance();
  Doctrine_Manager::getInstance()-&amp;gt;openConnection(DSN, &apos;doctrine&apos;);
  
  $example2 = Doctrine_Core::getTable(&apos;Example&apos;)-&amp;gt;find(1);
  var_dump(
    $example2-&amp;gt;Translation[&apos;en&apos;]-&amp;gt;title,
    $example2-&amp;gt;Translation[&apos;ja&apos;]-&amp;gt;title
  );
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I try executing my code, but I got the following error::&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;  string(5) &quot;Title&quot;
  string(6) &quot;&#38988;&#21517;&quot;
  
  Doctrine_Connection_Mysql_Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column &apos;e.title&apos; in &apos;field list&apos; in /path/to/doctrine/Doctrine/Connection.php on line 1082
  
  Call Stack:
      0.0055      65352   1. {main}() /path/to/my/code/test.php:0
      0.2776    5873388   2. Doctrine_Table-&amp;gt;find() /path/to/my/code/test.php:52
      0.2793    5881152   3. Doctrine_Query-&amp;gt;fetchOne() /path/to/doctrine/Doctrine/Table.php:1611
      0.2793    5881296   4. Doctrine_Query_Abstract-&amp;gt;execute() /path/to/doctrine/Doctrine/Query.php:281
      0.2793    5881892   5. Doctrine_Query_Abstract-&amp;gt;_execute() /path/to/doctrine/Doctrine/Query/Abstract.php:1026
      0.3127    5890712   6. Doctrine_Connection-&amp;gt;execute() /path/to/doctrine/Doctrine/Query/Abstract.php:976
      0.3164    5892632   7. Doctrine_Connection_Statement-&amp;gt;execute() /path/to/doctrine/Doctrine/Connection.php:1006
      0.3181    5907408   8. Doctrine_Connection-&amp;gt;rethrowException() /path/to/doctrine/Doctrine/Connection/Statement.php:269
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>PHP 5.2.11 (with Suhosin-Patch 0.9.7)&lt;br/&gt;
PHP 5.3.6</environment>
            <key id="10638">DC-373</key>
            <summary>Relating to Translation table (generated by Doctrine_I18n) doesn&apos;t work correctly after resetting connection</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="co3k">Kousuke Ebihara</reporter>
                        <labels>
                    </labels>
                <created>Sun, 20 Dec 2009 22:54:24 +0000</created>
                <updated>Tue, 11 Sep 2012 13:16:23 +0000</updated>
                                    <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Connection</component>
                <component>I18n</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="14659" author="arnaud.charlier@gmail.com" created="Tue, 2 Nov 2010 04:55:46 +0000"  >&lt;p&gt;Good Morning,&lt;/p&gt;

&lt;p&gt;First, thanks a lot for your work on Doctrine. It&apos;s a real great tool we love to use.&lt;/p&gt;

&lt;p&gt;Currently in one of our big application we have exactly the same issue.&lt;br/&gt;
It seems when we close the connection, the reference with the objectTranslation is lost.&lt;br/&gt;
Re-open the connection seems not able to reinstantiate this Translation link to the objectTranslation.&lt;/p&gt;

&lt;p&gt;Currently we have no solution, but we are still investigating this.&lt;/p&gt;

&lt;p&gt;I&apos;m available to go deep in the code with you, but any Doctrine Team help will be really nice.&lt;/p&gt;

&lt;p&gt;Thanks to let me know as soon as possible.&lt;/p&gt;

&lt;p&gt;Arnaud&lt;/p&gt;</comment>
                    <comment id="15891" author="jsiponen" created="Fri, 27 May 2011 14:51:51 +0000"  >&lt;p&gt;I&apos;ve just now battled with the very same problem in Doctrine 1.2 (the version bundled with symfony 1.4) and the problem seems to be caused by the fact that Doctrine_Record_Generator simply isn&apos;t written such that it is able to reinitialize generators for unloaded table instances after a connection is closed.  This problem also manifests itself after a table has been loaded in a connection and one tries retrieve a table again after Doctrine_Connection-&amp;gt;evictTables() has been called. This makes it impossible to to open more than one connection at a time in a request/script when using behaviors that dynamically modify table instances (such as the i18n behavior).&lt;/p&gt;

&lt;p&gt;Doctrine_Record_Generator determines if it needs to run its initialization methods simply by checking if the to-be generated class, as defined by the className option, exists using a class_exists call. This means that the first time this method is called the initialization happens but for every subsequent call no initialization is made. Now, in the i18m behavior, the important initialization happens in its setTableDefinition method in which it removes any of the translated fields from the table instance that is been setup and redefines them as relations on the to-be-created Translation class. It then finishes off by dynamically declaring the new class for the translation record using its generateClassFromTable method.&lt;/p&gt;

&lt;p&gt;Thus, the first time everything goes smoothly and the i18n generator&apos;s setTableDefinition is called and the table instance is properly initialized. Everything will now work as expected while the current connection is open since the connection instance keeps the i18n modified table instances alive and well for callers.&lt;/p&gt;

&lt;p&gt;But, when the current connection is closed the i18n modified table instances it holds are also removed (goes out of scope). Then, when a new connection is opened, this new connection will start without having any table instances. This means that the next time one asks the new connection for a table instance of the same class with the i18n behavior the i18n behaviors will fail to initialize because the generator at this time believes its class has actually been initialized which, in turn, means that the table using the i18n behavior isn&apos;t properly initialized. No initialization means that this table will now include the non-existant i18n fields in the select part of its queries (those are in the translation table) causing those queries to fail miserably.&lt;/p&gt;

&lt;p&gt;I believe this could be fixed by adding a static attribute to Doctrine_Record_Generator that tracks the spl_object_hash of the underlying dbh instance variable of the doctrine connection of the table parameter. If the hash is the same the next time that the initialize method is called the generator can decide not to reinitialize itself but if it detects that the hash of the current connection is different then that is definitely a clue to the generator that it needs to reinitialize itself (i.e. run all of the initialization methods but generateClassFromTable which should&apos;t be called more than once).&lt;/p&gt;

&lt;p&gt;Maybe do it like this perhaps:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
abstract class Doctrine_Record_Generator extends Doctrine_Record_Abstract
{
  public function initialize(Doctrine_Table $table)
  {
    /* ... */ 
  
    $currentConnectionHash = spl_object_hash($table-&amp;gt;getConnection()-&amp;gt;getDbh());
    
    //Next part is called if this is the first connection made or if this is a new open connection with new table instances
    if ($currentConnectionHash != self::$lastConnectionHash)
    {
      self::$lastConnectionHash = $currentConnectionHash;
      
      $this-&amp;gt;buildTable();

      $fk = $this-&amp;gt;buildForeignKeys($this-&amp;gt;_options[&apos;table&apos;]);

      $this-&amp;gt;_table-&amp;gt;setColumns($fk);

      $this-&amp;gt;buildRelation();

      $this-&amp;gt;setTableDefinition();
      $this-&amp;gt;setUp();
      
      if ($this-&amp;gt;_options[&apos;generateFiles&apos;] === false &amp;amp;&amp;amp; class_exists($this-&amp;gt;_options[&apos;className&apos;])) {
        $this-&amp;gt;generateClassFromTable($this-&amp;gt;_table); //Don&apos;t generate the class more than once ever
      }
      
      $this-&amp;gt;buildChildDefinitions();

      $this-&amp;gt;_table-&amp;gt;initIdentifier();
    }
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; </comment>
                    <comment id="16003" author="jsiponen" created="Thu, 16 Jun 2011 20:28:21 +0000"  >&lt;p&gt;Failing test case attached&lt;/p&gt;</comment>
                    <comment id="18060" author="co3k" created="Fri, 8 Jun 2012 07:53:37 +0000"  >&lt;p&gt;Good job, Joe Siponen! Thanks for your nice patch!&lt;/p&gt;

&lt;p&gt;I can&apos;t understand why the Doctrine team discontinued maintenance of Doctrine 1 without any fixes for some serious issues like this problem...&lt;/p&gt;

&lt;p&gt;Joe, would you send your patch by pull-request in GitHub? They might notice this problem and try to fix in official repository by your request. If you cannnot, I will do it as your proxy. (Of course I&apos;m going to describe your credit)&lt;/p&gt;</comment>
                    <comment id="18626" author="co3k" created="Tue, 11 Sep 2012 13:16:23 +0000"  >&lt;p&gt;I&apos;ve tested Joe Siponen&apos;s patch, it would be good in a situation of single connection, but it doesn&apos;t work in multiple connections.&lt;/p&gt;

&lt;p&gt;So I modified your patch to fit my needs. I&apos;m testing my arranged patch and I want to publish it ASAP...&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11015" name="DC373TestCase.php" size="6100" author="jsiponen" created="Thu, 16 Jun 2011 20:28:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-368] createTablesFromModels() wants to create already existing FOREIGN KEY constraints</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-368</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If you create InnoDB tables from a given model directory, the table generator wants to create a foreign key constraint that already exists.&lt;/p&gt;

&lt;p&gt;1. Doctrine_Core::generateModelsFromYaml(&apos;yaml&apos;, &apos;models&apos;);&lt;br/&gt;
2. Doctrine_Core::createTablesFromModels(&apos;models&apos;);&lt;br/&gt;
3. Running this setup twice, will print out the following error:&lt;/p&gt;

&lt;p&gt;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;HY000&amp;#93;&lt;/span&gt;: General error: 1005 Can&apos;t create table &apos;./dev_mreiche/#sql-930_2cb7.frm&apos; (errno: 121). Failing Query: &quot;ALTER TABLE group_user ADD CONSTRAINT group_user_user_id_user_id FOREIGN KEY (user_id) REFERENCES user(id)&quot;. Failing Query: ALTER TABLE group_user ADD CONSTRAINT group_user_user_id_user_id FOREIGN KEY (user_id) REFERENCES user(id)&lt;/p&gt;</description>
                <environment>mysql  Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (i486) using readline 5.2&lt;br/&gt;
PHP 5.2.11-0.dotdeb.1 with Suhosin-Patch 0.9.7 (cli) (built: Sep 20 2009 09:41:43)&lt;br/&gt;
Ubuntu 9.04&lt;br/&gt;
</environment>
            <key id="10632">DC-368</key>
            <summary>createTablesFromModels() wants to create already existing FOREIGN KEY constraints</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mreiche">Mike Reiche</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Dec 2009 13:35:19 +0000</created>
                <updated>Tue, 24 Aug 2010 04:32:21 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="11228" author="mreiche" created="Fri, 18 Dec 2009 13:38:50 +0000"  >&lt;p&gt;Moved model and setup code from description to attachment.&lt;/p&gt;</comment>
                    <comment id="11636" author="m.olszewski" created="Tue, 9 Feb 2010 08:53:02 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Just a quick comment - the test case you&apos;ve provided works fine for me using 1.2.1 and also latest code from 1.2 branch... you might try that.&lt;/p&gt;

&lt;p&gt;The error above (1005) is caused by mismatch between local and foreign key definitions. So it seems somewhere along the lines you/Doctrine messed up field definitions (although I can&apos;t see it provided test case). Try using integer without length definition in YAML, like:&lt;/p&gt;

&lt;p&gt;id:&lt;br/&gt;
      type: integer&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
      primary: true&lt;/p&gt;

&lt;p&gt;and check if this is working.&lt;/p&gt;</comment>
                    <comment id="11886" author="ppw8bnh3jy2a" created="Mon, 1 Mar 2010 14:44:47 +0000"  >&lt;p&gt;I&apos;m having the same issue.  However, I&apos;ve tried the test case using a sqlite memory only database and i can&apos;t trigger the problem.&lt;/p&gt;

&lt;p&gt;Here&apos;s my mysql schema, for your review - which does trigger the issue using 1.2.1.&lt;/p&gt;

</comment>
                    <comment id="11887" author="ppw8bnh3jy2a" created="Mon, 1 Mar 2010 14:48:51 +0000"  >&lt;p&gt;I put some debugging statements in Doctrine/Export.php around line 1216:&lt;br/&gt;
------------&lt;br/&gt;
                      $connection-&amp;gt;exec($query);&lt;br/&gt;
                  } catch (Doctrine_Connection_Exception $e) {&lt;br/&gt;
                      // we only want to silence table already exists errors&lt;br/&gt;
+                     print_r($e-&amp;gt;getPortableCode());&lt;br/&gt;
+                     print_r(Doctrine_Core::ERR_ALREADY_EXISTS);&lt;br/&gt;
+                     print_r($e-&amp;gt;getMessage());&lt;br/&gt;
+                     echo &quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&quot;;&lt;br/&gt;
+//                                  exit;&lt;br/&gt;
+&lt;br/&gt;
+                     &lt;br/&gt;
                      if ($e-&amp;gt;getPortableCode() !== Doctrine_Core::ERR_ALREADY_EXISTS) {&lt;br/&gt;
                          $connection-&amp;gt;rollback();&lt;/p&gt;

&lt;p&gt;----------------------&lt;/p&gt;


&lt;p&gt;Here&apos;s the output I get:&lt;/p&gt;

&lt;p&gt;-5-5SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42S01&amp;#93;&lt;/span&gt;: Base table or view already exists: 1050 Table &apos;category&apos; already exists. Failing Query: &quot;CREATE TABLE category (id BIGINT AUTO_INCREMENT, name VARCHAR(80), company_id BIGINT, INDEX company_id_idx (company_id), PRIMARY KEY(id)) ENGINE = INNODB&quot;&lt;/p&gt;

&lt;p&gt;-5-5SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42S01&amp;#93;&lt;/span&gt;: Base table or view already exists: 1050 Table &apos;company&apos; already exists. Failing Query: &quot;CREATE TABLE company (id BIGINT AUTO_INCREMENT, name VARCHAR(80) UNIQUE, address1 VARCHAR(80), address2 VARCHAR(80), city VARCHAR(80), state VARCHAR(10), zipcode VARCHAR(20), phone VARCHAR(20), fax VARCHAR(20), url VARCHAR(255), logo VARCHAR(255), perferedcolumn BIGINT, randomsort BIGINT, comment LONGTEXT, PRIMARY KEY(id)) ENGINE = INNODB&quot;&lt;/p&gt;

&lt;p&gt;-5-5SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42S01&amp;#93;&lt;/span&gt;: Base table or view already exists: 1050 Table &apos;user&apos; already exists. Failing Query: &quot;CREATE TABLE user (email VARCHAR(255), password VARCHAR(80), fullname VARCHAR(80), company_id BIGINT, cellphone VARCHAR(20), voice VARCHAR(20), voiceext VARCHAR(20), fax VARCHAR(20), comment LONGTEXT, status TINYINT(1), admin TINYINT(1), timeadded DATETIME, timechagned DATETIME, INDEX company_id_idx (company_id), PRIMARY KEY(email)) ENGINE = INNODB&quot;&lt;/p&gt;

&lt;p&gt;-15-5SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;HY000&amp;#93;&lt;/span&gt;: General error: 1005 Can&apos;t create table &apos;./iprfpartners/#sql-7eeb_2d8.frm&apos; (errno: 121). Failing Query: &quot;ALTER TABLE category ADD CONSTRAINT category_company_id_company_id FOREIGN KEY (company_id) REFERENCES company(id)&quot;&lt;/p&gt;

</comment>
                    <comment id="14037" author="aristondarmayuda" created="Mon, 23 Aug 2010 16:12:37 +0000"  >&lt;p&gt;I have same problem, but this problem is face on db engine side. When we look at the last query sql like:&lt;/p&gt;

&lt;p&gt;ALTER TABLE category ADD CONSTRAINT category_company_id_company_id FOREIGN KEY (company_id) REFERENCES company(id)&lt;/p&gt;

&lt;p&gt;The first call of createTablesFromModels will create the table and add contraint which run fine because table and constraint not exist yet. Then when we execute createTablesFromModels again it will fail because it still try to create constraint which already exist on table. I&apos;m still looking on MySql section how to check the constrain if it exist or not. If the constraint not exist then we can execute the sql above, if not we need to avoid execution for sql above, this mean we cannot MODIFY the constrain (like ON UPDATE and ON DELETE mode).&lt;/p&gt;</comment>
                    <comment id="14044" author="aristondarmayuda" created="Tue, 24 Aug 2010 04:29:52 +0000"  >&lt;p&gt;I&apos;ve figure out the errorno: 121 which I thinking is that the process try re-adding existing CONSTRAINT name. The resolve that I&apos;ve found is for MySQL engine and modify some Doctrine libraries.&lt;/p&gt;

&lt;p&gt;1. I&apos;ve modify Doctrine_Export_Mysql by adding override function of:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function createForeignKeySql($table, array $definition)
{
    $tableInfo = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;conn-&amp;gt;execute(&apos;SHOW CREATE TABLE &apos;.$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;conn-&amp;gt;quoteIdentifier($table));
    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($tableInfo &amp;amp;&amp;amp; ($row = $tableInfo-&amp;gt;fetch()))
      &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($row[&apos;Create Table&apos;] &amp;amp;&amp;amp; preg_match(&apos;/CONSTRAINT `&apos;.$definition[&apos;name&apos;].&apos;`.+/i&apos;, $row[&apos;Create Table&apos;])) &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &apos;&apos;;
    &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; parent::createForeignKeySql($table, $definition);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;2. Since if CONSTRAINT already exist the createForeignKeySql return empty string, we need modify function on Doctrine_Export with:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function createForeignKey($table, array $definition)
{
    $sql = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createForeignKeySql($table, $definition);
    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($sql != &apos;&apos;)
      &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;conn-&amp;gt;execute($sql);
    &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
      &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; -1;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now by add/modify function above I can savely run createTablesFromModels because if CONSTRAINT of a table exist on database the ALTER TABLE ... ADD CONSTRAINT will not generated. Hope this can help some of you guys.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10404" name="schema.txt" size="4059" author="ppw8bnh3jy2a" created="Mon, 1 Mar 2010 14:44:47 +0000" />
                    <attachment id="10239" name="testcase.zip" size="723" author="mreiche" created="Fri, 18 Dec 2009 13:38:50 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-370] Doctrine serializes arrays, objects, etc. like &apos;string&apos;, which is never bigger than a TEXT, limited to 65535 characters (in MySQL)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-370</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine supports storing objects and arrays, and implements this via serialize().&lt;/p&gt;

&lt;p&gt;However in DataDict/Mysql they are handled like the &apos;string&apos; type, which means they are subject to the rules there that ensure nothing bigger than a &apos;TEXT&apos; is ever used to represent them.&lt;/p&gt;

&lt;p&gt;TEXT is not a great choice for objects and arrays because it&apos;s difficult to ensure they will not exceed 65,535 bytes in size.&lt;/p&gt;

&lt;p&gt;This would be most easily fixed by moving them to the next block of case statements there, used for CLOBs. The logic there already picks suitable large types (MEDIUMTEXT and LONGTEXT) as needed, and defaults to LONGTEXT which is a good choice for objects and arrays.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10635">DC-370</key>
            <summary>Doctrine serializes arrays, objects, etc. like &apos;string&apos;, which is never bigger than a TEXT, limited to 65535 characters (in MySQL)</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="boutell">Tom Boutell</reporter>
                        <labels>
                    </labels>
                <created>Sat, 19 Dec 2009 19:50:20 +0000</created>
                <updated>Fri, 29 Jan 2010 12:57:17 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="11518" author="hobodave" created="Fri, 29 Jan 2010 03:37:42 +0000"  >&lt;p&gt;Array and Object data types now behave identically to clob.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;http://trac.doctrine-project.org/changeset/7077&quot; class=&quot;external-link&quot;&gt;r7077&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="11523" author="boutell" created="Fri, 29 Jan 2010 12:57:17 +0000"  >&lt;p&gt;Thanks David!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-362] Doctrine fails to create correct table structure if model is named &quot;User&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-362</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When building models and database structure from YAML schema, Doctrine ignores the behaviors and relations on models if it is named &quot;User&quot;:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;...

User:  
  actAs:
    Timestampable:
    Sluggable:
      unique: true
      fields: username
      canUpdate: true
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    company_id
      type: integer(4)
    timezone_id:
      type: integer(1)
    role_id:
      type: integer(1)
    email:
      type: string(255)
    username:
      type: string(255)
      unique: true
    password:
      type: string(40)
    firstname:
      type: string(255)
    lastname:
      type: string(255)
    last_login:
      type: datetime
  relations:
    Company:
      local: company_id
      foreign: id
    Timezone:
      local: timezone_id
      foreign: id
    Role:
      local: role_id
      foreign: id

...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This creates the following table structure:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-sql&quot;&gt;CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `company_id` int(11) DEFAULT NULL,
  `timezone_id` tinyint(4) DEFAULT NULL,
  `role_id` tinyint(4) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(40) DEFAULT NULL,
  `firstname` varchar(255) DEFAULT NULL,
  `lastname` varchar(255) DEFAULT NULL,
  `last_login` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The table structure is both missing foreign key constraints to Company, Timezone and Role. It is also missing columns &lt;tt&gt;updated_at&lt;/tt&gt; and &lt;tt&gt;created_at&lt;/tt&gt; for Timestampable behavior. The &lt;tt&gt;slug&lt;/tt&gt; column for Sluggable behavior is missing, as well.&lt;/p&gt;

&lt;p&gt;When looking at the BaseUser::setUp() method it looks as it is supposed to:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;class BaseUser extends Doctrine_Record
{

    ....

    public function setUp()
    {
        parent::setUp();
        $this-&amp;gt;hasOne(&apos;Company&apos;, array(
             &apos;local&apos; =&amp;gt; &apos;company_id&apos;,
             &apos;foreign&apos; =&amp;gt; &apos;id&apos;));

        $this-&amp;gt;hasOne(&apos;Timezone&apos;, array(
             &apos;local&apos; =&amp;gt; &apos;timezone_id&apos;,
             &apos;foreign&apos; =&amp;gt; &apos;id&apos;));

        $this-&amp;gt;hasOne(&apos;Role&apos;, array(
             &apos;local&apos; =&amp;gt; &apos;role_id&apos;,
             &apos;foreign&apos; =&amp;gt; &apos;id&apos;));

        $timestampable0 = new Doctrine_Template_Timestampable();
        $sluggable0 = new Doctrine_Template_Sluggable(array(
             &apos;unique&apos; =&amp;gt; true,
             &apos;fields&apos; =&amp;gt; &apos;username&apos;,
             &apos;canUpdate&apos; =&amp;gt; true,
        ));
        $this-&amp;gt;actAs($timestampable0);
        $this-&amp;gt;actAs($sluggable0);
    }

    ....

}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So the only area where it goes wrong, is when generating the queries for creating the model tables. I don&apos;t know if the same problem appears with other model names, but it doesn&apos;t like models named &quot;User&quot;.&lt;/p&gt;

&lt;p&gt;If I rename the model to &quot;Person&quot; and rebuild, it all works perfectly as it should.&lt;/p&gt;</description>
                <environment>Mac OS X 10.6.2 (10C540) (Snow Leopard) with MAMP 1.8 bundle: &lt;br/&gt;
PHP Version: 5.2.10,&lt;br/&gt;
MySQL Version: 5.1.37&lt;br/&gt;
</environment>
            <key id="10623">DC-362</key>
            <summary>Doctrine fails to create correct table structure if model is named &quot;User&quot;</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="michenriksen">Michael Henriksen</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Dec 2009 13:59:26 +0000</created>
                <updated>Fri, 8 Jan 2010 20:31:09 +0000</updated>
                                    <version>1.2.0-RC1</version>
                                                <component>Behaviors</component>
                <component>Query</component>
                <component>Relations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="11201" author="michenriksen" created="Wed, 16 Dec 2009 14:04:39 +0000"  >&lt;p&gt;Forgot to mention, that it works perfectly when renaming model to something else than &quot;User&quot;&lt;/p&gt;</comment>
                    <comment id="11357" author="neographikal" created="Fri, 8 Jan 2010 20:31:09 +0000"  >&lt;p&gt;Have the same problem in 1.2.1 at PostgreSQL 8.4&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-359] concrete inheritance doesn&apos;t create all relations</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-359</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;This is the YML schema&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Entity:
  actAs:
    Timestampable:
  columns:
    id:
      type: integer(11)
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    name: string(50)
  relations:
    DynamicFields:
      class: DynamicField
      local: id
      foreign: dynamic_field_id
      refClass: EntityDynamicFields

DynamicField:
  actAs:
    I18n:
      fields: [name_xml]
  columns:
    id:
      type: integer(11)
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    name_xml: 
      type: string(50)
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
  relations:
    Entities:
      class: Entity
      local: dynamic_field_id
      foreign: id
      refClass: EntityDynamicFields

EntityDynamicFields:
  actAs:
    I18n:
      fields: [value_xml]
  columns:
    id:
      type: integer(11)
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    dynamic_field_id:
      type: integer(11)
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    value_xml: string(250)

Airline:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

Bank:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

Client:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

Employe:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

Host:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

Partner:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

Person:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

Supplier:
  inheritance:
    &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;: Entity
    type: concrete

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I run the commands &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;./doctrine build-all
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;./doctrine rebuild-db
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The problem is when I verify if the foreign keys are created, but&lt;br/&gt;
these were only created for the &quot;client&quot; and &quot;employee&quot; models, to&lt;br/&gt;
&quot;host&quot; does not create the relationship in the MySQL, but if I rename&lt;br/&gt;
&quot;host&quot; with a name like &quot;Ent&quot;, the relationship is established, or if I rename &lt;br/&gt;
the parent model &quot;Entity&quot; to &quot;Zzzzz&quot;, all relations are created.&lt;/p&gt;

&lt;p&gt;I did several tests, and the only way that the relation is created, is&lt;br/&gt;
that the model name, is alphabetically sorted before the parent model name. &lt;/p&gt;

&lt;p&gt;This is a part of the dump of MySQL&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;ALTER TABLE `entity_dynamic_fields`
  ADD CONSTRAINT `entity_dynamic_fields_dynamic_field_id_dynamic_field_id` FOREIGN KEY (`dynamic_field_id`) REFERENCES `dynamic_field` (`id`),
  ADD CONSTRAINT `entity_dynamic_fields_id_airline_id` FOREIGN KEY (`id`) REFERENCES `airline` (`id`),
  ADD CONSTRAINT `entity_dynamic_fields_id_bank_id` FOREIGN KEY (`id`) REFERENCES `bank` (`id`),
  ADD CONSTRAINT `entity_dynamic_fields_id_client_id` FOREIGN KEY (`id`) REFERENCES `client` (`id`),
  ADD CONSTRAINT `entity_dynamic_fields_id_employe_id` FOREIGN KEY (`id`) REFERENCES `employe` (`id`),
  ADD CONSTRAINT `entity_dynamic_fields_id_entity_id` FOREIGN KEY (`id`) REFERENCES `entity` (`id`);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The other foreign keys are missed&lt;/p&gt;

&lt;p&gt;you can view the diagram EER created with reverse engineering of MySQL Workbench &lt;br/&gt;
&lt;a id=&quot;10236_thumb&quot; href=&quot;http://www.doctrine-project.org/jira/secure/attachment/10236/10236_Picture+1.png&quot; title=&quot;Picture 1.png&quot;&gt;&lt;img src=&quot;http://www.doctrine-project.org/jira/secure/thumbnail/10236/_thumb_10236.png&quot; align=&quot;absmiddle&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
                <environment>PHP 5.2.11 (cli) (built: Oct  5 2009 21:36:09) &lt;br/&gt;
Copyright (c) 1997-2009 The PHP Group&lt;br/&gt;
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans&lt;br/&gt;
&lt;br/&gt;
Server version: Apache/2.2.13 (Unix)&lt;br/&gt;
&lt;br/&gt;
Server version: 5.1.38-log MySQL Community Server (GPL)</environment>
            <key id="10615">DC-359</key>
            <summary>concrete inheritance doesn&apos;t create all relations</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jvega">Juan Vega</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Dec 2009 22:20:46 +0000</created>
                <updated>Wed, 16 Dec 2009 19:42:00 +0000</updated>
                                    <version>1.2.0</version>
                <version>1.2.1</version>
                                                <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="11190" author="jvega" created="Tue, 15 Dec 2009 19:42:57 +0000"  >&lt;p&gt;I know where is the problem, in Doctrine_Core::loadModels the list of models returned are alphabetically sorted, if I can rearrange the array by inheritance, the foreign keys for the models (&apos;host&apos; &apos;partner&apos; &apos;person&apos; &apos;supplier&apos;) are created.&lt;/p&gt;

&lt;p&gt;more explicity:&lt;/p&gt;

&lt;p&gt;I have this&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Array
(
    [0] =&amp;gt; Airline
    [1] =&amp;gt; Bank
    [2] =&amp;gt; Client
    [3] =&amp;gt; DynamicField
    [4] =&amp;gt; Employe
    [5] =&amp;gt; Entity
    [6] =&amp;gt; EntityDynamicFields
    [7] =&amp;gt; Host
    [8] =&amp;gt; Partner
    [9] =&amp;gt; Person
    [10] =&amp;gt; Supplier
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I need this&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Array
(
    [0] =&amp;gt; Entity
    [1] =&amp;gt; Airline
    [2] =&amp;gt; Bank
    [3] =&amp;gt; Client
    [4] =&amp;gt; Employe
    [5] =&amp;gt; Host
    [6] =&amp;gt; Partner
    [7] =&amp;gt; Person
    [8] =&amp;gt; Supplier
    [9] =&amp;gt; DynamicField
    [10] =&amp;gt; EntityDynamicFields
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="11207" author="jvega" created="Wed, 16 Dec 2009 19:42:00 +0000"  >&lt;p&gt;ok, this is my patch to rearrange the models loaded, this array puts the child models before the parents&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10237" name="fix-dc-359.diff" size="1210" author="jvega" created="Wed, 16 Dec 2009 19:42:00 +0000" />
                    <attachment id="10236" name="Picture 1.png" size="94239" author="jvega" created="Mon, 14 Dec 2009 22:20:46 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-357] setting &quot;Doctrine_Core::ATTR_EXPORT&quot; to &quot;Doctrine_Core::EXPORT_TABLES&quot; prevents i18n table creation</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-357</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When I try to prevent foreign key creation (because I am using a mix of MyISAM and InnoDB tables) using the given attribute, I notice that all the translation tables are also not getting created.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10610">DC-357</key>
            <summary>setting &quot;Doctrine_Core::ATTR_EXPORT&quot; to &quot;Doctrine_Core::EXPORT_TABLES&quot; prevents i18n table creation</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Dec 2009 14:21:17 +0000</created>
                <updated>Mon, 14 Dec 2009 16:51:11 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Cli</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="11185" author="jwage" created="Mon, 14 Dec 2009 16:47:11 +0000"  >&lt;p&gt;You can use the bit operator with this attribute.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_2/en/configuration#exporting&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/documentation/manual/1_2/en/configuration#exporting&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="11186" author="lsmith" created="Mon, 14 Dec 2009 16:51:11 +0000"  >&lt;p&gt;in that case the bug is bogus .. however the docs should probably make it clear that there are other export modes available, then illustrated atm.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-355] Call to a member function evictAll() if a table is retrieved, that is not existent</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-355</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Hi!&lt;/p&gt;

&lt;p&gt;Im not quite sure it this bahaviour is wanted, but i think that this&lt;br/&gt;
should be catched:&lt;/p&gt;

&lt;p&gt;If i call Doctrine::getTable on a non existing model, the exception is&lt;br/&gt;
thrown. After them i want always to clear all Record Repositories, see&lt;br/&gt;
code:&lt;/p&gt;

&lt;p&gt;try&lt;/p&gt;
{
        $table = Doctrine::getTable(&apos;notexistent&apos;);
        }
&lt;p&gt;        catch(Exception $e)&lt;/p&gt;
{
                echo &apos;not existent&apos;.$e-&amp;gt;getMessage();
        }
&lt;p&gt;        Doctrine_Manager::connection()-&amp;gt;clear();&lt;/p&gt;

&lt;p&gt;Then I get the error message:&lt;/p&gt;

&lt;p&gt;Fatal error: Call to a member function evictAll() on a non-object in /&lt;br/&gt;
core/lib/Doctrine/Doctrine/Connection.php on line 1239&lt;/p&gt;

&lt;p&gt;The problem is that the function clear doesnt check if a repository is&lt;br/&gt;
given.&lt;/p&gt;

&lt;p&gt; public function clear()&lt;br/&gt;
    {&lt;br/&gt;
        foreach ($this-&amp;gt;tables as $k =&amp;gt; $table) &lt;/p&gt;
{
            $table-&amp;gt;getRepository()-&amp;gt;evictAll();             //
getRepository delivers FALSE
            $table-&amp;gt;clear();
        }
&lt;p&gt;    }&lt;/p&gt;

&lt;p&gt;Is it normal behaviour? Or should it be checked first:&lt;/p&gt;

&lt;p&gt;if ($repository = $table-&amp;gt;getRepository())&lt;/p&gt;
{
 $repository-&amp;gt;evisctAll();

}

&lt;p&gt;best regards,&lt;br/&gt;
aNj&lt;/p&gt;</description>
                <environment>Ubuntu 8.04</environment>
            <key id="10608">DC-355</key>
            <summary>Call to a member function evictAll() if a table is retrieved, that is not existent</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="anj">aNj</reporter>
                        <labels>
                    </labels>
                <created>Sat, 12 Dec 2009 18:27:17 +0000</created>
                <updated>Sat, 12 Dec 2009 18:27:17 +0000</updated>
                                    <version>1.2.0</version>
                <version>1.2.1</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-356] Error in self referencing (nest relations) and tableName.</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-356</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have this schema:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Interface&lt;br/&gt;
Interfaz: &lt;br/&gt;
  tableName:        YT_INTERFAZ&lt;br/&gt;
  columns:&lt;br/&gt;
    cinterfaz:        
{ type: integer, notnull: true, primary: true, autoincrement: true }
&lt;p&gt;  relations:&lt;br/&gt;
    Conexiones:&lt;br/&gt;
      class: Interfaz&lt;br/&gt;
      local: cinterfazsrc&lt;br/&gt;
      foreign: cinterfazdst&lt;br/&gt;
      refClass: Conexion&lt;br/&gt;
      equal: true&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;#Link&lt;br/&gt;
Conexion:&lt;br/&gt;
  tableName:        YT_CONEXION&lt;br/&gt;
  columns:&lt;br/&gt;
    cinterfazsrc:      &lt;/p&gt;
{ type: integer, primary: true }
&lt;p&gt;    cinterfazdst:      &lt;/p&gt;
{ type: integer, primary: true }

&lt;p&gt;When I try to get $interfaz-&amp;gt;Conexiones, I get this message:&lt;/p&gt;

&lt;p&gt;Notice: Undefined index: yt_interfaz in /home/sergio/Proyectos/syc/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Hydrator/Graph.php on line 288&lt;/p&gt;

&lt;p&gt;Notice: Undefined index: in /home/sergio/Proyectos/syc/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Hydrator/Graph.php on line 289&lt;/p&gt;

&lt;p&gt;Fatal error: Call to a member function getFieldName() on a non-object in /home/sergio/Proyectos/syc/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Hydrator/Graph.php on line 290&lt;/p&gt;

&lt;p&gt;But If I remove tableName fields in schema declaration, it works perfectly. The name of tableName don&apos;t matters, if you use it, it fails.&lt;/p&gt;</description>
                <environment>Linux, php 5.2.10, apache 2.2.12</environment>
            <key id="10609">DC-356</key>
            <summary>Error in self referencing (nest relations) and tableName.</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="perseo">Sergio Gomez</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Dec 2009 12:07:46 +0000</created>
                <updated>Thu, 17 Jan 2013 01:16:07 +0000</updated>
                                    <version>1.2.1</version>
                                                        <due></due>
                    <votes>2</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="15310" author="kweij" created="Tue, 15 Feb 2011 08:15:12 +0000"  >&lt;p&gt;Same story over here. Same error with the following non-equal nest relation:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-javascript&quot;&gt;&amp;lt;?php

class TXCRDataNodeCRDataNode &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;function&lt;/span&gt; setTableDefinition() {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;setTableName(&apos;x_CRDataNode_CRDataNode&apos;);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;childNodeID&apos;, &apos;integer&apos;, 4, array(
             &apos;type&apos; =&amp;gt; &apos;integer&apos;,
             &apos;length&apos; =&amp;gt; 4,
             &apos;fixed&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;unsigned&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;autoincrement&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             ));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;parentNodeID&apos;, &apos;integer&apos;, 4, array(
             &apos;type&apos; =&amp;gt; &apos;integer&apos;,
             &apos;length&apos; =&amp;gt; 4,
             &apos;fixed&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;unsigned&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;autoincrement&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             ));
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;function&lt;/span&gt; setUp() {
        parent::setUp();
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasOne(&apos;TCRDataNode as child&apos;, array(
             &apos;local&apos; =&amp;gt; &apos;childNodeID&apos;,
             &apos;foreign&apos; =&amp;gt; &apos;dataNodeID&apos;));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasOne(&apos;TCRDataNode as parent&apos;, array(
             &apos;local&apos; =&amp;gt; &apos;parentNodeID&apos;,
             &apos;foreign&apos; =&amp;gt; &apos;dataNodeID&apos;));
    }
}

class TCRDataNode &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;function&lt;/span&gt; setTableDefinition() {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;setTableName(&apos;CRDataNode&apos;);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;dataNodeID&apos;, &apos;integer&apos;, 4, array(
             &apos;type&apos; =&amp;gt; &apos;integer&apos;,
             &apos;length&apos; =&amp;gt; 4,
             &apos;fixed&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;unsigned&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;autoincrement&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             ));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;value&apos;, &apos;string&apos;, 255, array(
             &apos;type&apos; =&amp;gt; &apos;string&apos;,
             &apos;length&apos; =&amp;gt; 255,
             &apos;fixed&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;unsigned&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;notnull&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             &apos;autoincrement&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
             ));
    }
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;function&lt;/span&gt; setUp() {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasMany(&apos;TCRDataNode as childNodes&apos;, array(
            &apos;local&apos; =&amp;gt; &apos;parentNodeID&apos;,
            &apos;foreign&apos; =&amp;gt; &apos;childNodeID&apos;,
            &apos;refClass&apos; =&amp;gt; &apos;TXCRDataNodeCRDataNode&apos;));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasMany(&apos;TCRDataNode as parentNodes&apos;, array(
            &apos;local&apos; =&amp;gt; &apos;childNodeID&apos;,
            &apos;foreign&apos; =&amp;gt; &apos;parentNodeID&apos;,
            &apos;refClass&apos; =&amp;gt; &apos;TXCRDataNodeCRDataNode&apos;));
    }
}

$dn = Doctrine_Core::getTable(&apos;TCRDataNode&apos;)-&amp;gt;find(5300);

?&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;.. and then when I ..&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-javascript&quot;&gt;&amp;lt;?php

$pn = $dn-&amp;gt;parentNodes;

?&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;.. it goes like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Notice: Undefined index: crdatanode in /home/shared/library/doctrine_1.2.2/Doctrine/Hydrator/Graph.php on line 288&lt;/p&gt;

&lt;p&gt;Notice: Undefined index: in /home/shared/library/doctrine_1.2.2/Doctrine/Hydrator/Graph.php on line 289&lt;/p&gt;

&lt;p&gt;Fatal error: Call to a member function getFieldName() on a non-object in /home/shared/library/doctrine_1.2.2/Doctrine/Hydrator/Graph.php on line 290&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Using Doctrine 1.2.2&lt;/p&gt;

&lt;p&gt;It seemed like the same thing as presented in the &lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_2/en/defining-models:relationships:join-table-associations:self-referencing-nest-relations#non-equal-nest-relations&quot; class=&quot;external-link&quot;&gt;documentation&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="15331" author="kweij" created="Thu, 17 Feb 2011 09:34:20 +0000"  >&lt;p&gt;This aching issue - as I traced the cord back to the wall - appears to originate from the fact that I use UPPERCASES in the names of my databas tables. When I user all lowercases: no problem. Hence it worked on my WAMP server (Windows just lowercases it all). Even when I so much as start the entity-table which an UPPERCASE: bang! Fatal error.&lt;/p&gt;

&lt;p&gt;This is not logical and, I presume, is a definite bug.&lt;/p&gt;

&lt;p&gt;Please, oh please fix this ..&lt;/p&gt;</comment>
                    <comment id="17528" author="dannykopping" created="Tue, 6 Mar 2012 08:39:37 +0000"  >&lt;p&gt;As Klaas mentions, this function incorrectly assumes that all databases will be named using lowercase letters.&lt;/p&gt;

&lt;p&gt;The problem arises in the following line:&lt;br/&gt;
$cache&lt;span class=&quot;error&quot;&gt;&amp;#91;$key&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;dqlAlias&amp;#39;&amp;#93;&lt;/span&gt; = $this-&amp;gt;_tableAliases&lt;span class=&quot;error&quot;&gt;&amp;#91;strtolower(implode(&amp;#39;__&amp;#39;, $e))&amp;#93;&lt;/span&gt;;&lt;/p&gt;

&lt;p&gt;If one removes the &quot;strtolower&quot; function call, it will work for tables named with uppercase letters, but this is obviously quite an inelegant solution.&lt;/p&gt;

&lt;p&gt;Could you suggest an alternative solution? I&apos;ll be happy to make the change, test it and issue a pull request in GitHub&lt;/p&gt;</comment>
                    <comment id="17529" author="dannykopping" created="Tue, 6 Mar 2012 13:01:44 +0000"  >&lt;p&gt;I&apos;ve just tested this scenario in as many different possible combinations as I could think of (all tables uppercase/PascalCase, all tables lowercase, some Pascal, some lowercase) and just by removing the &quot;strtolower&quot; function, the issue seems to be resolved.&lt;/p&gt;</comment>
                    <comment id="19333" author="jklehr" created="Thu, 17 Jan 2013 01:16:07 +0000"  >&lt;p&gt;We&apos;ve encountered this as well, tried a lot of different things in our models/schema to get around it, but nothing worked.&lt;/p&gt;

&lt;p&gt;Made a test case here: &lt;a href=&quot;https://github.com/diablomedia/doctrine1/blob/master/tests/Ticket/DC356TestCase.php&quot; class=&quot;external-link&quot;&gt;https://github.com/diablomedia/doctrine1/blob/master/tests/Ticket/DC356TestCase.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Modified the doctrine core as suggested by Danny, but this change causes other Doctrine test to fail (Particularly tests/TableTestCase.php).&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-348] Doctrine manual does not document that columns can be added with simple inheritance, or the semantics of accessing those columns in the parent</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-348</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The Doctrine manual&apos;s section on inheritance mentions simple inheritance only briefly. The examples do not show that columns can be added, nor do they explain that the parent model class can also access those columns (very useful when you override its methods at the application level in Symfony). &lt;/p&gt;

&lt;p&gt;Both behaviors are supported (Jon suggested I take advantage of them at one point) but it&apos;s easy to miss the fact that they are available. For a long time I assumed column aggregation inheritance was the only way to add columns.&lt;/p&gt;

&lt;p&gt;I&apos;m now exploiting simple inheritance as a way to add columns to sfGuardUser rather than introducing an sfGuardUserProfile class with all of the attendant problems of trying to pretend two tables are actually one table. This is very useful.&lt;/p&gt;

&lt;p&gt;(Out of curiosity, is there an alternative way to add columns to plugin schemas at the app level in Symfony 1.3 similar to the way it&apos;s now done for Propel?)&lt;/p&gt;</description>
                <environment></environment>
            <key id="10596">DC-348</key>
            <summary>Doctrine manual does not document that columns can be added with simple inheritance, or the semantics of accessing those columns in the parent</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="boutell">Tom Boutell</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Dec 2009 00:23:00 +0000</created>
                <updated>Thu, 10 Dec 2009 00:23:00 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Documentation</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-338] Add setting charset to sandbox</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-338</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I try set charset  adding to config.php in sandbox:&lt;br/&gt;
$manager = Doctrine_Manager::getInstance();&lt;br/&gt;
$manager-&amp;gt;openConnection(DSN, &apos;doctrine&apos;);&lt;br/&gt;
$manager-&amp;gt;setAttribute(Doctrine_Core::ATTR_MODEL_LOADING, Doctrine_Core::MODEL_LOADING_PEAR);&lt;br/&gt;
$manager-&amp;gt;setCharset(&apos;utf8&apos;);&lt;/p&gt;

&lt;p&gt;and this doesn&apos;t work.&lt;/p&gt;

&lt;p&gt;Please update sandbox and give the how to right setCharset in this example. Almost used utf8.&lt;/p&gt;</description>
                <environment>mysql 5, ubuntu 9.04, php 5.2.10</environment>
            <key id="10582">DC-338</key>
            <summary>Add setting charset to sandbox</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="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="abtris">Ladislav Prskavec</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Dec 2009 08:18:18 +0000</created>
                <updated>Thu, 10 Dec 2009 19:23:51 +0000</updated>
                                                                    <component>Sandbox</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="11099" author="jwage" created="Tue, 8 Dec 2009 18:09:38 +0000"  >&lt;p&gt;This works properly. I test setCharset(&apos;utf8&apos;) and SET NAMES &apos;utf8&apos; query is issued to the database properly. Please include reproducible code/information in your issue.&lt;/p&gt;</comment>
                    <comment id="11114" author="abtris" created="Wed, 9 Dec 2009 07:50:12 +0000"  >&lt;p&gt;Try this example on my github &lt;a href=&quot;http://github.com/abtris/doctrine-sandbox&quot; class=&quot;external-link&quot;&gt;http://github.com/abtris/doctrine-sandbox&lt;/a&gt;, screenshots included.&lt;/p&gt;</comment>
                    <comment id="11161" author="abtris" created="Thu, 10 Dec 2009 19:23:51 +0000"  >&lt;p&gt;Try my sources, i now solution with add connection, but will be better support in manager for set encoding by options.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-339] Documentation unclear about linking inherited objects</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-339</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The (very nice) doctrine documentation fails to mention anything about how inherited objects handle relations.&lt;/p&gt;

&lt;p&gt;I.e. if I got the model: &lt;br/&gt;
Entity:&lt;br/&gt;
  columns:&lt;br/&gt;
    username: string(20)&lt;br/&gt;
    password: string(16)&lt;br/&gt;
    created_at: timestamp&lt;br/&gt;
    updated_at: timestamp&lt;/p&gt;

&lt;p&gt;User:&lt;br/&gt;
  inheritance:&lt;br/&gt;
    extends: Entity&lt;br/&gt;
    type: column_aggregation&lt;br/&gt;
    keyField: type&lt;br/&gt;
    keyValue: 1&lt;/p&gt;

&lt;p&gt;Group:&lt;br/&gt;
  inheritance:&lt;br/&gt;
    extends: Entity&lt;br/&gt;
    type: column_aggregation&lt;br/&gt;
    keyField: type&lt;br/&gt;
    keyValue: 2&lt;/p&gt;

&lt;p&gt;Topic:&lt;br/&gt;
  content: string&lt;br/&gt;
  entity_id: integer&lt;br/&gt;
  relations:&lt;br/&gt;
    User:&lt;br/&gt;
       class: Entity&lt;br/&gt;
       local: entity_id&lt;br/&gt;
       foreign: id&lt;/p&gt;

&lt;p&gt;Can I then define both users and groups to link to Topic? &lt;/p&gt;


</description>
                <environment></environment>
            <key id="10583">DC-339</key>
            <summary>Documentation unclear about linking inherited objects</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tarjei">Tarjei Huse</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Dec 2009 08:57:45 +0000</created>
                <updated>Tue, 8 Dec 2009 08:57:45 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Documentation</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-328] Multi-table query (left-join) problem in the Doctrine_Hydrator_Graph class</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-328</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I tried below code. It must be return 2 records, but It returned 1 record. I traced  Doctrine and found to reason in &lt;br/&gt;
Doctrine_Hydrator_Graph class line 165 ( $identifierMap&lt;span class=&quot;error&quot;&gt;&amp;#91;$rootAlias&amp;#93;&lt;/span&gt;[$id&lt;span class=&quot;error&quot;&gt;&amp;#91;$rootAlias&amp;#93;&lt;/span&gt;] = $this-&amp;gt;getLastKey($result); ) When couple $rootAlias not get record.&lt;/p&gt;

&lt;p&gt;I attached my data and code. Is it problem?!&lt;/p&gt;

&lt;p&gt;  77         $q = Doctrine_Query::create();&lt;br/&gt;
  78         $q-&amp;gt;select(&quot;r.post_id as id, p.title as title, p.slug as slug, p.created_on as created_on&quot;)-&amp;gt;&lt;br/&gt;
  79             from(&quot;Relations r&quot;)-&amp;gt;&lt;br/&gt;
  80                 leftJoin(&quot;r.Taxonomies t&quot;)-&amp;gt;&lt;br/&gt;
  81                 leftJoin(&quot;t.Marks m&quot;)-&amp;gt;&lt;br/&gt;
  82                 leftJoin(&quot;r.Posts p&quot;)-&amp;gt;&lt;br/&gt;
  83             where(&quot;m.slug = ?&quot;, $slug)-&amp;gt;&lt;br/&gt;
  84                 andWhere(&quot;m.status = ?&quot;, self::PUBLISH)-&amp;gt;&lt;br/&gt;
  85                 andWhere(&quot;p.status = ?&quot;, self::PUBLISH)-&amp;gt;&lt;br/&gt;
  86                 andWhere(&quot;t.status = ?&quot;, self::PUBLISH)-&amp;gt;&lt;br/&gt;
  87                 andWhere(&quot;t.type = ?&quot;, self::CATEGORY)-&amp;gt;&lt;br/&gt;
  88             orderBy(&quot;p.created_on desc&quot;);&lt;/p&gt;

</description>
                <environment>Ubuntu 9.10 Linux / PHP 5.2.x / Apache2 / Mysql 5</environment>
            <key id="10565">DC-328</key>
            <summary>Multi-table query (left-join) problem in the Doctrine_Hydrator_Graph class</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="meddah">Hasan Ozgan</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Dec 2009 18:13:37 +0000</created>
                <updated>Fri, 4 Dec 2009 18:13:37 +0000</updated>
                                    <version>1.2.0</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10212" name="hasanozgan_com.sql" size="116050" author="meddah" created="Fri, 4 Dec 2009 18:13:37 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-329] Problem saving Self Referencing (Nest Relations)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-329</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;There is a problem when you save Many to Many Self Referencing (Nest Relations).&lt;/p&gt;

&lt;p&gt;I used the same example that it&apos;s used on Doctrine 1.2 Self Referencing (Nest Relations) Documentation:&lt;/p&gt;

&lt;p&gt;My Schema:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;User:&lt;br/&gt;
  columns:&lt;br/&gt;
    name: &lt;/p&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: { type}&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;  relations:&lt;br/&gt;
    Parents:&lt;br/&gt;
      class: User&lt;br/&gt;
      local: child_id&lt;br/&gt;
      foreign: parent_id&lt;br/&gt;
      refClass: UserReference&lt;br/&gt;
      foreignAlias: Children&lt;/p&gt;

&lt;p&gt;UserReference:&lt;br/&gt;
  columns:&lt;br/&gt;
    parent_id:&lt;br/&gt;
      type: integer&lt;br/&gt;
      primary: true&lt;br/&gt;
    child_id:&lt;br/&gt;
      type: integer&lt;br/&gt;
      primary: true&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Fixtures:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;User:&lt;br/&gt;
  james:&lt;br/&gt;
    name: James&lt;br/&gt;
  alexander:&lt;br/&gt;
    name: Alexander&lt;br/&gt;
  david:&lt;br/&gt;
    name: David&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The problem happens with the Children. The first time I assigned children and saved the User, there is no problem; but when I saved the User again (without any change on him) the values in the UserReference? table changes: the &quot;parent_id&quot; takes the value of the &quot;child_id&quot;.&lt;/p&gt;

&lt;p&gt;I test it with Sf 1.4 and with Sf 1.3 stable versions, and I&apos;ve got the same error.&lt;/p&gt;

&lt;p&gt;If it not clear to understand what I&apos;m saying, I put a &quot;very ilustrative&quot; image about the form and how change the values of the UserReference? table. Please see it, because it would be very usefull for understanding (explains better than my terrible English)&lt;/p&gt;

&lt;p&gt;Thanks for all your work! &lt;/p&gt;

&lt;p&gt;P. D. &lt;/p&gt;

&lt;p&gt;I forgot to to say that watching the stack trace I think that the problem is in:&lt;/p&gt;

&lt;p&gt;symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php&lt;/p&gt;

&lt;p&gt;In the line 429:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;public function saveAssociations(Doctrine_Record $record)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I would like to help more, but I couldn&apos;t figure out how this function works.&lt;/p&gt;</description>
                <environment>Mac OSX 10.5, Symfony 1.4 and MAMP</environment>
            <key id="10566">DC-329</key>
            <summary>Problem saving Self Referencing (Nest Relations)</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jaimesuez">Jaime Suez</reporter>
                        <labels>
                    </labels>
                <created>Sat, 5 Dec 2009 17:48:37 +0000</created>
                <updated>Fri, 3 Jun 2011 13:14:55 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>14</votes>
                        <watches>14</watches>
                        <comments>
                    <comment id="11033" author="jaimesuez" created="Mon, 7 Dec 2009 00:38:52 +0000"  >&lt;p&gt;This picture explains the error that it&apos;s done when you do an insert and then you save it again.&lt;/p&gt;</comment>
                    <comment id="11048" author="jwage" created="Mon, 7 Dec 2009 17:59:04 +0000"  >&lt;p&gt;Can you provide a failing Doctrine test case? This may be a problem with Symfony and not Doctrine.&lt;/p&gt;</comment>
                    <comment id="11079" author="jaimesuez" created="Tue, 8 Dec 2009 12:55:47 +0000"  >&lt;p&gt;First I published this bug on Symfony, because I thought that was a problem with Symfony, but you set it as invalid because it&apos;s belong to Doctrine.&lt;/p&gt;

&lt;p&gt;This is the ticket on symfony: &lt;br/&gt;
&lt;a href=&quot;http://trac.symfony-project.org/ticket/7690&quot; class=&quot;external-link&quot;&gt;http://trac.symfony-project.org/ticket/7690&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I could do the Doctrine test case, but in one more mounth, because tomorrow I go out for vacations.&lt;br/&gt;
When I come back I&apos;ll do them.&lt;/p&gt;</comment>
                    <comment id="11244" author="psylosss" created="Sun, 20 Dec 2009 20:01:08 +0000"  >&lt;p&gt;Yes, I have got the same problem. During hours of debugging and exploring Doctrine&apos;s code, I found that problem localized in Hydrator component. I cannot digg deeper, so I ask you to fix it very much&lt;/p&gt;</comment>
                    <comment id="11296" author="p16" created="Sat, 26 Dec 2009 15:09:43 +0000"  >&lt;p&gt;Hi,&lt;br/&gt;
I had this problem in the 1.0 version of doctrine as well.&lt;br/&gt;
Using symfony, I upgraded to symfony 1.3 and doctrine 1.2 and I&apos;ve found the same problem.&lt;/p&gt;

&lt;p&gt;Attached to this comment you can find the files containing the schema I used (it is the same as that describe on this ticket but with a different class naming), and 2 unit tests. One using the symfony form  and one using directly the doctrine objects. They report the bug discussed on this ticket and show another bug saving objects that already have one ore more relations.&lt;/p&gt;

&lt;p&gt;As fixtures I used a fixtures.yml file containing: &lt;/p&gt;

&lt;p&gt;Issue:&lt;br/&gt;
&amp;lt;?php for ($i = 1; $i &amp;lt;= 30; $i++): ?&amp;gt;&lt;br/&gt;
  Issue_&amp;lt;?php echo $i; ?&amp;gt;:&lt;br/&gt;
    title: &quot;new issue &amp;lt;?php echo $i ?&amp;gt;&quot;&lt;br/&gt;
&amp;lt;?php endfor; ?&amp;gt;&lt;/p&gt;


&lt;p&gt;The following are the tests results:&lt;/p&gt;

&lt;p&gt;&amp;#8211; testEqualNestRelationsTest.php (using the forms) &amp;#8211; &lt;/p&gt;

&lt;p&gt;&amp;gt; First form for first issue: creation of the relation &quot;issue 1 -&amp;gt; issue 2&quot;&lt;br/&gt;
ok 1 - the edit form for issue 1 is valid&lt;br/&gt;
ok 2 - form1 saved&lt;br/&gt;
ok 3 - issue 1 is related with another issue&lt;br/&gt;
ok 4 - issue 1 is really related with issue 2&lt;/p&gt;

&lt;p&gt;&amp;gt; Second form for first issue: saving the relation between &quot;issue 1&quot; and &quot;issue 2&quot; from &quot;issue 2&quot;&apos;s form&lt;br/&gt;
ok 5 - the edit form for issue 2 is valid&lt;br/&gt;
ok 6 - form2 saved&lt;br/&gt;
not ok 7 - issue 2 is related with another issue  ******** this is the problem reported on this ticket ********&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Failed test (./test/unit/testEqualNestRelationsTest.php at line 57)&lt;/li&gt;
	&lt;li&gt;got: 0&lt;/li&gt;
	&lt;li&gt;expected: 1&lt;br/&gt;
not ok 8 - issue 2 is really related with issue 1&lt;/li&gt;
	&lt;li&gt;Failed test (./test/unit/testEqualNestRelationsTest.php at line 58)&lt;/li&gt;
	&lt;li&gt;got: NULL&lt;/li&gt;
	&lt;li&gt;expected: 1&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;ok 9 - issue 1 is related with another issue&lt;br/&gt;
not ok 10 - issue 1 is really related with issue 2  ******** this is the problem reported on this ticket ********&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Failed test (./test/unit/testEqualNestRelationsTest.php at line 63)&lt;/li&gt;
	&lt;li&gt;got: &apos;1&apos;&lt;/li&gt;
	&lt;li&gt;expected: 2&lt;br/&gt;
&amp;gt; Checking the relation table IssueReference ...&lt;br/&gt;
ok 11 - There is only one relation saved on IssueReference&lt;br/&gt;
ok 12 - 1 is the issue1 field of the relation&lt;br/&gt;
not ok 13 - 2 is the issue2 field of the relation ******** this is the problem reported on this ticket ********&lt;/li&gt;
	&lt;li&gt;Failed test (./test/unit/testEqualNestRelationsTest.php at line 71)&lt;/li&gt;
	&lt;li&gt;got: &apos;1&apos;&lt;/li&gt;
	&lt;li&gt;expected: &apos;2&apos;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&amp;gt; multi selection proof&lt;br/&gt;
ok 14 - the edit form for issue 1 is valid&lt;br/&gt;
ok 15 - form1 saved&lt;br/&gt;
ok 16 - the edit form for issue 2 is valid&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;
		&lt;ul&gt;
			&lt;li&gt;
			&lt;ul&gt;
				&lt;li&gt;
				&lt;ul&gt;
					&lt;li&gt;
					&lt;ul&gt;
						&lt;li&gt;
						&lt;ul&gt;
							&lt;li&gt;
							&lt;ul&gt;
								&lt;li&gt;this is the other bug I&apos;ve found ********&lt;br/&gt;
not ok 17 - form2 exception catched : SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 1062 Duplicate entry &apos;1-1&apos; for key 1&lt;/li&gt;
							&lt;/ul&gt;
							&lt;/li&gt;
						&lt;/ul&gt;
						&lt;/li&gt;
					&lt;/ul&gt;
					&lt;/li&gt;
				&lt;/ul&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
	&lt;li&gt;Failed test (./test/unit/testEqualNestRelationsTest.php at line 114)&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&amp;#8211; testNestedEqualRelationWithObjectsTest.php (test using the &quot;doctrine&quot; objects ) &amp;#8211;&lt;/p&gt;

&lt;p&gt;&amp;gt; Saving relation directly from the objects and not using the forms...&lt;br/&gt;
ok 1 - issue1 saved&lt;br/&gt;
&amp;gt; checking issue1 relations&lt;br/&gt;
ok 2 - issue 1 is related with another issue&lt;br/&gt;
ok 3 - issue 1 is really related with issue 2&lt;/p&gt;

&lt;p&gt;&amp;gt; checking &quot;reverse&quot; relation on issue2&lt;br/&gt;
ok 4 - issue 2 is related with another issue&lt;br/&gt;
ok 5 - issue 2 is really related with issue 1&lt;/p&gt;

&lt;p&gt;&amp;gt; adding a relation issue2-&amp;gt;issue1 directly&lt;br/&gt;
ok 6 - issue2 saved&lt;/p&gt;

&lt;p&gt;&amp;gt; checking issue2 relations&lt;br/&gt;
not ok 7 - issue 2 is related with another issue  ******** this is the problem reported on this ticket ********&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Failed test (./test/unit/testNestedEqualRelationWithObjectsTest.php at line 56)&lt;/li&gt;
	&lt;li&gt;got: 0&lt;/li&gt;
	&lt;li&gt;expected: 1&lt;br/&gt;
not ok 8 - issue 2 is really related with issue 1&lt;/li&gt;
	&lt;li&gt;Failed test (./test/unit/testNestedEqualRelationWithObjectsTest.php at line 57)&lt;/li&gt;
	&lt;li&gt;got: NULL&lt;/li&gt;
	&lt;li&gt;expected: 1&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&amp;gt; checking issue1 relations&lt;br/&gt;
ok 9 - issue 1 is related with another issue&lt;br/&gt;
not ok 10 - issue 1 is really related with issue 2  ******** this is the problem reported on this ticket ********&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Failed test (./test/unit/testNestedEqualRelationWithObjectsTest.php at line 63)&lt;/li&gt;
	&lt;li&gt;got: &apos;1&apos;&lt;/li&gt;
	&lt;li&gt;expected: 2&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&amp;gt; Checking the relation table IssueReference ...&lt;br/&gt;
ok 11 - There is only one relation saved on IssueReference&lt;br/&gt;
ok 12 - 1 is the issue1 field of the relation&lt;br/&gt;
not ok 13 - 2 is the issue2 field of the relation&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Failed test (./test/unit/testNestedEqualRelationWithObjectsTest.php at line 71)&lt;/li&gt;
	&lt;li&gt;got: &apos;1&apos;&lt;/li&gt;
	&lt;li&gt;expected: &apos;2&apos;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&amp;gt; object multi adding relation proof&lt;br/&gt;
ok 14 - issue1 saved&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;
		&lt;ul&gt;
			&lt;li&gt;
			&lt;ul&gt;
				&lt;li&gt;
				&lt;ul&gt;
					&lt;li&gt;
					&lt;ul&gt;
						&lt;li&gt;
						&lt;ul&gt;
							&lt;li&gt;
							&lt;ul&gt;
								&lt;li&gt;this is the other bug I&apos;ve found ********&lt;br/&gt;
not ok 15 - issue2 exception catched : SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 1062 Duplicate entry &apos;1-1&apos; for key 1&lt;/li&gt;
							&lt;/ul&gt;
							&lt;/li&gt;
						&lt;/ul&gt;
						&lt;/li&gt;
					&lt;/ul&gt;
					&lt;/li&gt;
				&lt;/ul&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
	&lt;li&gt;Failed test (./test/unit/testNestedEqualRelationWithObjectsTest.php at line 112)&lt;/li&gt;
&lt;/ol&gt;


</comment>
                    <comment id="11370" author="jaimesuez" created="Wed, 13 Jan 2010 15:27:21 +0000"  >&lt;p&gt;With the test provided by Filippo De Santis is any other thing needed??&lt;/p&gt;

&lt;p&gt;I still on vacations untill 3 of febrary, so then I could do any other thing needed.&lt;/p&gt;
</comment>
                    <comment id="11571" author="jaimesuez" created="Mon, 1 Feb 2010 15:54:37 +0000"  >&lt;p&gt;The necessary test have to be how are illustrated in this link???&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_2/en/unit-testing&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/documentation/manual/1_2/en/unit-testing&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="11648" author="bgm" created="Tue, 9 Feb 2010 22:35:23 +0000"  >&lt;p&gt;What has happen with this bug?? I also have the same problem...&lt;/p&gt;</comment>
                    <comment id="11968" author="jwage" created="Tue, 2 Mar 2010 12:43:43 +0000"  >&lt;p&gt;Hi, yes. We still need a unit test case like described here: &lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_2/en/unit-testing&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/documentation/manual/1_2/en/unit-testing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So we can run it with all the other tests and reproduce the issue in Doctrine by itself. Not in Symfony.&lt;/p&gt;

&lt;p&gt;Thanks, Jon&lt;/p&gt;</comment>
                    <comment id="11988" author="psylosss" created="Tue, 2 Mar 2010 15:13:30 +0000"  >&lt;p&gt;Jon, here is the test for this bug: &lt;a href=&quot;http://gist.github.com/319856&quot; class=&quot;external-link&quot;&gt;http://gist.github.com/319856&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please, fix it.. my work has been stopped cause of it&lt;/p&gt;</comment>
                    <comment id="12203" author="jaimesuez" created="Mon, 15 Mar 2010 13:12:55 +0000"  >&lt;p&gt;Yes... please fix it... I&apos;m also stuck in my work since a lot of time that the bug it&apos;s open.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="12212" author="lilawolf" created="Mon, 15 Mar 2010 14:24:37 +0000"  >&lt;p&gt;I&apos;m affected with this bug as well, fortunately, I found a way to get over it, it&apos;s ugly and innefficient, but at least my work isn&apos;t stopped due to this bug. I&apos;ll try to explain what I did commenting here later. Anyway, I really need this bug fixed too before I can start betatesting my app.&lt;br/&gt;
Thanks!&lt;/p&gt;

&lt;p&gt;P.D: I&apos;m using Doctrine 1.2.1.&lt;/p&gt;</comment>
                    <comment id="12215" author="jwage" created="Mon, 15 Mar 2010 14:35:09 +0000"  >&lt;p&gt;I am trying to understand the issue but it just doesn&apos;t make much sense to me yet. The test case is wrong because you are dealing with instances of objects that have previously loaded references, then you try and re-fetch the same object instance. If you do $user1-&amp;gt;free(true); then re-fetch the object the test passes as expected. So, I don&apos;t really have a proper failing test case still that actually exposes the problem. I&apos;ll keep playing around see if I can understand. let me know if anyone else has more information or a patch to test.&lt;/p&gt;

&lt;p&gt;Thanks, Jon&lt;/p&gt;</comment>
                    <comment id="12296" author="p16" created="Tue, 16 Mar 2010 17:22:33 +0000"  >&lt;p&gt;Hi Jonathan,&lt;br/&gt;
This is the &quot;translated&quot; version of my unit test for symfony in &quot;doctrine unit test&quot;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/ideato/phpcollab3/blob/phpcollabsf13/test/doctrine_unit_test/DC329TestCase.php&quot; class=&quot;external-link&quot;&gt;http://github.com/ideato/phpcollab3/blob/phpcollabsf13/test/doctrine_unit_test/DC329TestCase.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first test is to show the error &quot;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 19 columns issue1, issue2 are not unique&quot;.&lt;br/&gt;
The second one is to show the fact that the relation are saved with wrong data.&lt;/p&gt;

&lt;p&gt;Sorry for the late translation.&lt;/p&gt;

&lt;p&gt;Filippo &lt;/p&gt;</comment>
                    <comment id="12299" author="hckurniawan" created="Tue, 16 Mar 2010 21:55:53 +0000"  >&lt;p&gt;Hi Jonathan,&lt;/p&gt;

&lt;p&gt;It seems that the problem is caused by Doctrine_Collection::add() method line 456 (I could be totally wrong).&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (isset($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;referenceField)) {
    $value = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;reference-&amp;gt;get($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;relation-&amp;gt;getLocalFieldName());
    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($value !== &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
        $record-&amp;gt;set($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;referenceField, $value, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
    } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
        $record-&amp;gt;set($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;referenceField, $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;reference, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
    }
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;What is trying to do is to set the reference field value to the reference value that it&apos;s linked to.&lt;/p&gt;

&lt;p&gt;This only happens when you try to fetch record from the &quot;children&quot;.&lt;/p&gt;

&lt;p&gt;Consider the following:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Employees:
  tableName: employees
  columns:
    id:
      type: integer(4)
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    name:
      type: string(100)
  relations:
    managing:
      class: Employees
      type: many
      local: manager_id
      foreign: employee_id
      foreignAlias: managedBy
      refClass: EmployeeManager

EmployeeManager:
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Code:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-comment&quot;&gt;// ----- The following will not give you any issues
&lt;/span&gt;  $manager = Doctrine::getTable(&apos;Issue&apos;)-&amp;gt;findOneBy(&apos;id&apos;, &apos;1&apos;); &lt;span class=&quot;code-comment&quot;&gt;// This is a manager
&lt;/span&gt;  foreach ($manager-&amp;gt;managing as $employee) {
    ....
  }

  &lt;span class=&quot;code-comment&quot;&gt;// This will not save anything
&lt;/span&gt;  $manager-&amp;gt;save();
&lt;span class=&quot;code-comment&quot;&gt;// -----
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;// ----- The following will
&lt;/span&gt;  $employee = Doctrine::getTable(&apos;Issue&apos;)-&amp;gt;findOneBy(&apos;id&apos;, &apos;2&apos;); &lt;span class=&quot;code-comment&quot;&gt;// This is an employee
&lt;/span&gt;  foreach ($employee-&amp;gt;managedBy as $manager) {
    ...
  }

  &lt;span class=&quot;code-comment&quot;&gt;// This will save the wrong data to the &lt;span class=&quot;code-quote&quot;&gt;&quot;EmployeeManager&quot;&lt;/span&gt; table
&lt;/span&gt;  &lt;span class=&quot;code-comment&quot;&gt;// because the code from Doctrine_Collection is overwriting &lt;span class=&quot;code-quote&quot;&gt;&quot;EmployeeManager&quot;&lt;/span&gt; records
&lt;/span&gt;  &lt;span class=&quot;code-comment&quot;&gt;// When they were being added to the collection by the Hydrator.
&lt;/span&gt;  $employee-&amp;gt;save();
&lt;span class=&quot;code-comment&quot;&gt;// -----&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;Debug backtrace when this happens:&lt;/p&gt;
&lt;div class=&quot;panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelContent&quot;&gt;
&lt;p&gt;string(100) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Record.php @ line 1432&quot;&lt;br/&gt;
string(103) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Collection.php @ line 461&quot;&lt;br/&gt;
string(99) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Access.php @ line 131&quot;&lt;br/&gt;
string(107) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Hydrator/Graph.php @ line 229&quot;&lt;br/&gt;
string(101) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Hydrator.php @ line 137&quot;&lt;br/&gt;
string(108) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Query/Abstract.php @ line 1036&quot;&lt;br/&gt;
string(105) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Relation/Nest.php @ line 84&quot;&lt;br/&gt;
string(100) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Record.php @ line 1362&quot;&lt;br/&gt;
string(100) &quot;File: /Data/app/onlinevw-drupalvividwireless/libs/external-doctrine1/Doctrine/Record.php @ line 1333&quot;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="12372" author="loops" created="Fri, 19 Mar 2010 12:33:35 +0000"  >&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;For people who are looking for a workaround, I&apos;ve found one that work for me.&lt;/p&gt;

&lt;p&gt;Get the doctrine extension h2aEqualable (h2aEqualable.zip), register it as a doctrine extension (see &lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_2/0_11/extensions&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/documentation/manual/1_2/0_11/extensions&lt;/a&gt;) and make your refClass of every equal nest relation acting as h2aEqualable.&lt;/p&gt;

&lt;p&gt;In your PHP script :&lt;br/&gt;
{{&lt;br/&gt;
Doctrine::setExtensionsPath( &apos;path/to/unzip/place&apos; );&lt;br/&gt;
Doctrine_Manager::getInstance()-&amp;gt;registerExtension( &apos;h2aEqualable&apos; );&lt;br/&gt;
}}&lt;/p&gt;

&lt;p&gt;In your YAML schema :&lt;br/&gt;
{{&lt;br/&gt;
MyEqualNestRelationRefClassModel:&lt;br/&gt;
  actAs:&lt;br/&gt;
    h2aEqualable:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;id_1,id_2&amp;#93;&lt;/span&gt;&lt;br/&gt;
}}&lt;/p&gt;

&lt;p&gt;As I&apos;ve said before, it works for me, so let me know if it solve your issues too...&lt;/p&gt;</comment>
                    <comment id="13365" author="pgueguin" created="Fri, 18 Jun 2010 12:57:55 +0000"  >&lt;p&gt;I have the very same issue with non equal nest relations.&lt;br/&gt;
It is stopping my project&lt;/p&gt;

&lt;p&gt;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 1062 Duplicate entry &apos;87-87&apos; for key &apos;PRIMARY&apos;&lt;/p&gt;

&lt;p&gt;execute : UPDATE cop_job_stream_successor SET job_stream_destination_id = ?, updated_at = ? WHERE job_stream_source_id = ? AND job_stream_destination_id = ? - (87, 2010-06-18 18:55:32, 87, 94) &lt;/p&gt;

&lt;p&gt;CopJobStream:&lt;br/&gt;
  columns:&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
      notnull: false&lt;br/&gt;
....&lt;br/&gt;
  relations:&lt;br/&gt;
   SuccessorJobStreams:&lt;br/&gt;
     class: CopJobStream&lt;br/&gt;
     local: job_stream_source_id&lt;br/&gt;
     foreign: job_stream_destination_id    &lt;br/&gt;
     refClass: CopJobStreamSuccessor&lt;br/&gt;
     foreignAlias: PredecessorJobStreams&lt;br/&gt;
     onDelete: CASCADE &lt;br/&gt;
     onUpdate: CASCADE &lt;/p&gt;

&lt;p&gt;CopJobStreamSuccessor:&lt;br/&gt;
  columns:&lt;br/&gt;
   job_stream_source_id:&lt;br/&gt;
     type: integer&lt;br/&gt;
     primary: true&lt;br/&gt;
   job_stream_destination_id:&lt;br/&gt;
     type: integer&lt;br/&gt;
     primary: true&lt;br/&gt;
  relations:&lt;br/&gt;
    CopJobStream:&lt;br/&gt;
      local: job_stream_source_id&lt;br/&gt;
      foreignAlias: CopJobStreamSuccessors&lt;br/&gt;
      onDelete: CASCADE&lt;br/&gt;
      onUpdate: CASCADE    &lt;/p&gt;</comment>
                    <comment id="13367" author="pgueguin" created="Fri, 18 Jun 2010 14:20:28 +0000"  >&lt;p&gt;It works anyway with above   h2aEqualable extension&lt;/p&gt;</comment>
                    <comment id="15186" author="bigbadbassman" created="Wed, 26 Jan 2011 02:39:36 +0000"  >&lt;p&gt;after stumbling into the same pit as everyone, i created a fresh report as &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-958&quot; title=&quot;updating Models with Intra-Table Relations cascades strangely&quot;&gt;DC-958&lt;/a&gt;. Later I found out that it has been reported before, so please mark &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-958&quot; title=&quot;updating Models with Intra-Table Relations cascades strangely&quot;&gt;DC-958&lt;/a&gt; as duplicate of this. (or at least related, as I was using a Non-Equal Nested Set) also &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-952&quot; title=&quot;Non-Equal Nest Relations Not Working - from &amp;quot;Children&amp;quot; side&quot;&gt;DC-952&lt;/a&gt; refers to the same problem, but also with Non-Equal nestet sets.&lt;/p&gt;

&lt;p&gt;My Case:  Non-Equal-Nested-Set. Problems occur on saving Objects for 2nd or more time. Doctrine deletes all Child-Relations of the Object to be saved and updates Relations of the Childs to other Objects (other parents of the children objects) with references to the child itself!&lt;/p&gt;

&lt;p&gt;the proposed h2aEqualable extension does prevent the wrong update statements but not the initial delete of the child-relations.&lt;/p&gt;

&lt;p&gt;What exactly is missing on this bug to be fixed? It is now a year old, and clearly preventing people from using Self-Referencing relations with doctrine.&lt;/p&gt;

&lt;p&gt;How can we help? More sample data, schema definitions, test cases?&lt;/p&gt;</comment>
                    <comment id="15309" author="flevour" created="Tue, 15 Feb 2011 06:41:46 +0000"  >&lt;p&gt;Here is a better and simpler test case for the equal relation: &lt;a href=&quot;https://gist.github.com/827414&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/827414&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is clearly a memory problem here. I&apos;ll leave it up to Jonathan to decide whether it&apos;s a scenario which can be avoided in Doctrine itself or must be handled by Symfony (&lt;a href=&quot;http://trac.symfony-project.org/ticket/9398&quot; class=&quot;external-link&quot;&gt;http://trac.symfony-project.org/ticket/9398&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;In the Symfony context calls to refresh() might not be an option when modifying an object (aka saving a form).&lt;/p&gt;</comment>
                    <comment id="15333" author="yitznewton" created="Thu, 17 Feb 2011 12:06:55 +0000"  >&lt;p&gt;h2aEqualable seems to work for me.&lt;/p&gt;</comment>
                    <comment id="15898" author="pavel.campr" created="Thu, 2 Jun 2011 07:48:44 +0000"  >&lt;p&gt;h2aEqualable works only partly for me (same as Daniel Reiche wrote).&lt;/p&gt;

&lt;p&gt;I tried to identify the problem. &lt;/p&gt;

&lt;p&gt;My usecase was: &lt;br/&gt;
1) I have an Article record in $article&lt;br/&gt;
2) I called $article-&amp;gt;RelatedArticles-&amp;gt;getPrimaryKeys() , where RelatedArticles is a name of my self reference&lt;br/&gt;
3) $article-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;The problem originates from step 2), during hydratation process for related articles, which are added to a collection of related articles, in Collection-&amp;gt;add() method (line 465) here:&lt;/p&gt;

&lt;p&gt;            if ($value !== null) &lt;/p&gt;
{
                $record-&amp;gt;set($this-&amp;gt;referenceField, $value, false);
            }
&lt;p&gt; else {&lt;/p&gt;

&lt;p&gt;but, $this-&amp;gt;referenceField contains wrong name of reference field. Self referenced model (Article) has two relations to the same class (one from &quot;owning&quot; side, second from &quot;referencing&quot; side). $this-&amp;gt;referenceField in the collection is somewhere filled with the wrong relation name (not the&quot;referencing&quot; one, but the &quot;owning&quot; one). &lt;/p&gt;

&lt;p&gt;When I save the $article, all referenced records are saved too and this is the problem, why the Doctrine tries to save corrupted data:&lt;/p&gt;

&lt;p&gt;In my example, I have this data:&lt;/p&gt;

&lt;p&gt;in Doctrine_Collection-&amp;gt;add on line 457: $record) is a RelatedArticle (&lt;br/&gt;
    article1 = string(1) &quot;4&quot;&lt;br/&gt;
    article2 = string(1) &quot;9&quot;&lt;br/&gt;
)&lt;br/&gt;
in Doctrine_Collection-&amp;gt;add on line 458: $this-&amp;gt;referenceField) = string(19) &quot;article1&quot;&lt;br/&gt;
in Doctrine_Collection-&amp;gt;add on line 459: $value) = string(1) &quot;9&quot;   &lt;/p&gt;

&lt;p&gt;BUT expected data is:&lt;/p&gt;

&lt;p&gt;in Doctrine_Collection-&amp;gt;add on line 458: $this-&amp;gt;referenceField) = string(19) &quot;article2&quot;&lt;/p&gt;


&lt;p&gt;This wrong behavior modified my RelatedArticle into this: RelatedArticle (&lt;br/&gt;
    article1 = string(1) &quot;9&quot;&lt;br/&gt;
    article2 = string(1) &quot;9&quot;&lt;br/&gt;
)&lt;/p&gt;


&lt;p&gt;I have no idea how to fix it, but maybe someone can, I hope &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;(&lt;br/&gt;
my schema is:&lt;/p&gt;

&lt;p&gt;Article&lt;br/&gt;
  relations:&lt;br/&gt;
    RelatedArticles:&lt;br/&gt;
      class: Article&lt;br/&gt;
      local: article1&lt;br/&gt;
      foreign: article2&lt;br/&gt;
      refClass: RelatedArticle&lt;br/&gt;
)&lt;/p&gt;

&lt;p&gt;Maybe, when &quot;refClassRelationAlias&quot; option was invented to specifically point to a relation, instead of using &quot;refClass&quot;, which can be used more times for one record and thus is not unambiguous, something for self referenced relations should be added as well. My &quot;refClass: RelatedArticle&quot; creates (probably) a relation from the foreign side too and Article contains two relations, which uses same refClass. Doctrine then doesn&apos;t know, which one should be used. &lt;/p&gt;
</comment>
                    <comment id="15901" author="pavel.campr" created="Fri, 3 Jun 2011 13:14:55 +0000"  >&lt;p&gt;&lt;b&gt;Non-equal&lt;/b&gt; nest relations work properly, when &lt;b&gt;refClassRelationAlias&lt;/b&gt; undocumented option is used, e.g.&lt;/p&gt;


&lt;p&gt;Article:&lt;br/&gt;
  ...&lt;br/&gt;
  relations:&lt;br/&gt;
    RelatedArticles:&lt;br/&gt;
      class: Article&lt;br/&gt;
      local: article1&lt;br/&gt;
      foreign: article2&lt;br/&gt;
      refClass: RelatedArticle&lt;br/&gt;
      refClassRelationAlias: RelatedArticleAlias&lt;/p&gt;

&lt;p&gt;Anything can be used as a value for refClassRelationAlias.&lt;/p&gt;

&lt;p&gt;Unfortunately, &lt;b&gt;this doesn&apos;t fix equal nest relations&lt;/b&gt;.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10505" name="h2aEqualable.zip" size="3041" author="loops" created="Fri, 19 Mar 2010 12:33:52 +0000" />
                    <attachment id="10216" name="saving process.png" size="64255" author="jaimesuez" created="Mon, 7 Dec 2009 00:38:52 +0000" />
                    <attachment id="10260" name="schema.yml" size="443" author="p16" created="Sat, 26 Dec 2009 15:09:43 +0000" />
                    <attachment id="10261" name="testEqualNestRelationsTest.php" size="3598" author="p16" created="Sat, 26 Dec 2009 15:09:43 +0000" />
                    <attachment id="10262" name="testNestedEqualRelationWithObjectsTest.php" size="3391" author="p16" created="Sat, 26 Dec 2009 15:09:43 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-326] Running out of memory while executing single record lookup.</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-326</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have the model class as follows:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;schema.yml&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;options:
  collate: utf8_unicode_ci
  charset: utf8
  type: INNODB
Identity:
  tableName: Identity
  columns:
    id:
      type: integer(4)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    username:
      type: string(50)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    email:
      type: string(50)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    password:
      type: string(100)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    created_at:
      name: created_at
      type: timestamp
      # &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: CURRENT_TIMESTAMP
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    updated_at:
      name: updated_at
      type: timestamp
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
  relations:
    Roles:
      class: Role
      local: id
      foreign: ident_id
      type: many
    Token:
      local: id
      foreign: entity_id
      type: many
    Devices:
      class: Device
      local: id
      foreign: account_id
      type: many
    Rides:
      class: Ride
      local: id
      foreign: account_id
      type: many
    OwnGroups:
      class: CoachGroup
      local: id
      foreign: owner_id
      type: many
    GroupMemberships:
      class: GroupMembership
      local: id
      foreign: ident_id
      type: many
  actAs:
    Timestampable:
      created:
        name: created_at
        type: timestamp
        expression: NOW()
      update:
        onInsert: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
Role:
  tableName: Role
  columns:
    identId:
      name: ident_id
      type: integer(4)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    role:
      type: string(50)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
  relations:
    Identity:
      onDelete: CASCADE
      onUpdate: CASCADE
      local: ident_id
      foreign: id
      foreignAlias: Roles
Token:
  tableName: Token
  columns:
    entity_id:
      name: entity_id
      type: integer(4)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    token:
      name: token
      type: string(50)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: &apos;&apos;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    type:
      type: &lt;span class=&quot;code-keyword&quot;&gt;enum&lt;/span&gt;(50)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      values:
        - EMAIL_VERIFICATION
        - PASS_RESET
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: EMAIL_VERIFICATION
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    created_at:
      type: timestamp(25)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
    expires_at:
      type: timestamp(25)
      fixed: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
  indexes:
    entity:
      fields: [entity_id]
  relations:
    Identity:
      onDelete: CASCADE
      onUpdate: CASCADE
      local: entity_id
      foreign: id
      type: one
  actAs:
    Timestampable:
      created:
        name: created_at
        type: timestamp
      updated:
        disabled: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and my unit test for the model:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;TokenModelTest.php&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$t = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; lime_test(3);
$t-&amp;gt;diag(&lt;span class=&quot;code-quote&quot;&gt;&quot;=== Token model test ===&quot;&lt;/span&gt;);

$t-&amp;gt;info(&apos;Token creation =&amp;gt;&apos;);
$token = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Token();
$token-&amp;gt;setEntityId(1);
$token-&amp;gt;generateUniqueToken();

$t-&amp;gt;info(&apos;Set valid token type...&apos;);
$token-&amp;gt;setType(Token::TYPE_EMAIL_VERIFICATION);
&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;{
  $t-&amp;gt;info(&apos;Saving the token...&apos;);
  $token-&amp;gt;save();
  $t-&amp;gt;pass(&apos;Token was saved successfully...&apos;);
}
&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt;(Exception $e){
  $t-&amp;gt;is(($e &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; Exception), &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, $e-&amp;gt;getMessage());
}

$t-&amp;gt;isnt($token-&amp;gt;getCreatedAt(), &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, &apos; Creation datetime is set to &apos;.$token-&amp;gt;getCreatedAt().&apos;...&apos;);

$t-&amp;gt;info(&apos;Get &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; token from DB...&apos;);
$tokenFromDb = Doctrine::getTable(&apos;Token&apos;)-&amp;gt;findOneByToken($token-&amp;gt;getToken());

$t-&amp;gt;info(&apos;Compare the two...&apos;);
$t-&amp;gt;is($tokenFromDb-&amp;gt;getEntityId(), $token-&amp;gt;getEntityId(), &apos;Entity ID...&apos;);
$t-&amp;gt;is($tokenFromDb-&amp;gt;getToken(), $token-&amp;gt;getToken(), &apos;Token string...&apos;);
$t-&amp;gt;is($tokenFromDb-&amp;gt;getType(), $token-&amp;gt;getType(), &apos;Token string...&apos;);
$t-&amp;gt;is($tokenFromDb-&amp;gt;getCreatedAt(), $token-&amp;gt;getCreatedAt(), &apos;Token creation date...&apos;);
$t-&amp;gt;is($tokenFromDb-&amp;gt;getExpiresAt(), $token-&amp;gt;getExpiresAt(), &apos;Token expration date...&apos;);
$t-&amp;gt;is($tokenFromDb-&amp;gt;getExpiresAt(), &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, &apos;Token expration date is &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;...&apos;);

$t-&amp;gt;info(&apos;Delete token...&apos;);
$t-&amp;gt;is($token-&amp;gt;delete(), &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, &apos;Successful deletion...&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;On test execution on this line:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$tokenFromDb = Doctrine::getTable(&apos;Token&apos;)-&amp;gt;findOneByToken($token-&amp;gt;getToken());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I&apos;m getting a fatal error:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;ERROR&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;# === Token model test ===
&amp;gt; Token creation =&amp;gt;
&amp;gt; Set valid token type...
&amp;gt; Saving the token...
ok 1 - Token was saved successfully...
ok 2 -  Creation datetime is set to 2009-12-04 01:13:31...
&amp;gt; Get &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; token from DB...
PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 261900 bytes) in /ApacheWebServer/htdocs/Clients/enki/enkiweb/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php on line 550

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 261900 bytes) in /ApacheWebServer/htdocs/Clients/enki/enkiweb/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php on line 550
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Mac OS 10.5, Zend Server CE, PHP 5.3&lt;br/&gt;
Symfony 1.4</environment>
            <key id="10563">DC-326</key>
            <summary>Running out of memory while executing single record lookup.</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="shurikag">Alex Agulyansky</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Dec 2009 09:15:16 +0000</created>
                <updated>Mon, 7 Dec 2009 21:06:03 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="11067" author="jwage" created="Mon, 7 Dec 2009 21:06:03 +0000"  >&lt;p&gt;Anymore information? Not much I can really do right now. If you have some more information to help I can look at the problem again. A Doctrine test case would be helpful.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-325] doctrine  pager  class  with   sql server  stored procedure</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-325</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;i am using doctrine pager  class  for pagination in symfony   but not able to find any help  how i can i use   it&lt;/p&gt;

&lt;p&gt;i am using sql server  stored  procedures for  fetching databasae .&lt;/p&gt;

&lt;p&gt;Thnaks&lt;/p&gt;

&lt;p&gt;Khurram &lt;/p&gt;</description>
                <environment>php 5.3.0  sql server 2000  symfony 1.2.9</environment>
            <key id="10562">DC-325</key>
            <summary>doctrine  pager  class  with   sql server  stored procedure</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="alityagi2008@gmail.com">khurram Ali</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Dec 2009 04:46:11 +0000</created>
                <updated>Fri, 4 Dec 2009 04:46:11 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-322] Data dump fails on tables with quoted identifiers</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-322</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;While dumping a table with a quoted identifier `numeric`, doctrine failed because the constructed query had an invalid alias the field:  c__`numeric`.&lt;/p&gt;

&lt;p&gt;Output:&lt;br/&gt;
SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42000&amp;#93;&lt;/span&gt;: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &apos;`numeric`, c.alpha3 AS c_&lt;em&gt;alpha3, c.alpha2 AS c&lt;/em&gt;&lt;em&gt;alpha2 FROM country_codes c&apos; at line 1. Failing Query: &quot;SELECT c.country AS c&lt;/em&gt;&lt;em&gt;country, c.`numeric` AS c&lt;/em&gt;&lt;em&gt;`numeric`, c.alpha3 AS c&lt;/em&gt;&lt;em&gt;alpha3, c.alpha2 AS c&lt;/em&gt;_alpha2 FROM country_codes c&quot;&lt;/p&gt;

&lt;p&gt;I know that using quoted identifiers is discouraged but I think this could be easily solvable.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;</description>
                <environment>linux, apache 2, mysql 5.1, php 5.2</environment>
            <key id="10559">DC-322</key>
            <summary>Data dump fails on tables with quoted identifiers</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mtorromeo">Massimiliano Torromeo</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Dec 2009 16:18:33 +0000</created>
                <updated>Fri, 4 Dec 2009 17:03:56 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Data Fixtures</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="10998" author="juokaz" created="Thu, 3 Dec 2009 21:24:13 +0000"  >&lt;p&gt;In which code part are you quoting that column? Because just enabling identifiers quoting would result in completely different results (at least there will be all columns quotes or none).&lt;/p&gt;</comment>
                    <comment id="11003" author="mtorromeo" created="Fri, 4 Dec 2009 08:58:44 +0000"  >&lt;p&gt;I&apos;m not using Doctrine::ATTR_QUOTE_IDENTIFIER, I generated a yaml from a preexisting db and then adapted it.&lt;/p&gt;

&lt;p&gt;It generated the following definition:&lt;br/&gt;
CountryCodes:&lt;br/&gt;
  columns:&lt;br/&gt;
    country:&lt;br/&gt;
      type: string(32)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    `numeric`:&lt;br/&gt;
      type: integer(2)&lt;br/&gt;
      unsigned: 1&lt;br/&gt;
      primary: true&lt;br/&gt;
    alpha3:&lt;br/&gt;
      type: string(3)&lt;br/&gt;
      fixed: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
    alpha2:&lt;br/&gt;
      type: string(2)&lt;br/&gt;
      fixed: true&lt;br/&gt;
      notnull: true&lt;/p&gt;

&lt;p&gt;but it was with an old version of Doctrine and this is not the case anymore (I tried regenerating it). I assumed it was correct to quote one single identifier, but I now guess it wasn&apos;t.&lt;/p&gt;

&lt;p&gt;I think this can be closed as NotBug.&lt;/p&gt;

&lt;p&gt;Sorry for the trouble.&lt;br/&gt;
Regards.&lt;/p&gt;</comment>
                    <comment id="11011" author="juokaz" created="Fri, 4 Dec 2009 17:03:56 +0000"  >&lt;p&gt;However, variables cannot be quoted like that - quoting happens after actual columns are constructed, so now Doctrine needs to unquote it and do it&apos;s stuff. If you want quoting - enable that option and it will do it for you, or the best - don&apos;t use reserved words in your schema &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/wink.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;This issue can be closed as Invalid.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-321] Doctrine/Import/Mssql.php does not handle default values</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-321</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If I generate models from sql server I notice that the default values are empty although some columns in the database do have default values.&lt;/p&gt;

&lt;p&gt;I did &apos;EXEC sp_columns @table_name = &apos;page&apos;;&apos; in sql server and I could clearly see default values in &apos;column_def&apos; so somehow the default values get lost.&lt;/p&gt;
</description>
                <environment>using odbc connection to sql server. (SQL Native Client)</environment>
            <key id="10558">DC-321</key>
            <summary>Doctrine/Import/Mssql.php does not handle default values</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="aiso">aiso haikens</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Dec 2009 16:09:00 +0000</created>
                <updated>Thu, 3 Dec 2009 20:16:02 +0000</updated>
                                    <version>1.2.0</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-293] Implement a self-reference class mechanism without the usage of associative classes</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-293</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Equals to summary&lt;/p&gt;</description>
                <environment>Ubuntu 9.10, Eclipse</environment>
            <key id="10511">DC-293</key>
            <summary>Implement a self-reference class mechanism without the usage of associative classes</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ruigoncalves">Rui Miguel Gon&#231;alves</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 Nov 2009 17:59:51 +0000</created>
                <updated>Wed, 25 Nov 2009 17:59:51 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-290] Relations need alias</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-290</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;While implementing a Record_Template and manipulating a query by using the preDqlSelect Event, i got massive problems if the query was generated by a refresh() or refreshRelated() call. I found out that the issue appears because the query has no alias for the table then. This makes it hard to add forther (sub-)selects to the query via preDqlSelect, e.g.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$params = $event-&amp;gt;getParams();
		$alias = $params[&apos;alias&apos;];

                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(!$query-&amp;gt;isSubquery() &amp;amp;&amp;amp; $alias == $queryClone-&amp;gt;getRootAlias()) {	
				
				
				$countQuery = &apos;(SELECT COUNT(&apos;.$alias.&apos;_tcount.uid) FROM &apos;.$modelName.&apos; &apos;.$alias.&apos;_tcount WHERE &apos;.$alias.&apos;.&apos;.$groupId.&apos;=&apos;.$alias.&apos;_tcount.&apos;.$groupId.&apos;) AS &apos;.$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_options[&apos;terminationCount&apos;];
				
				$query-&amp;gt;addSelect($countQuery);
			}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;



&lt;p&gt;The issue is solved by adding an alias in the foreignKey and localKey relation types&apos; fetchRelatedFor methods (at least that&apos;s sufficient for my issue, maybe there is a need to add similar lines to the other relation types).&lt;/p&gt;



&lt;p&gt;Doctrine_Relation_ForeignKey (from line 60):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$alias = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName().&apos;_rel&apos;;
            	
                $dql  = &apos;FROM &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName()
                      .&apos; &apos;.$alias. &apos; WHERE &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getCondition($alias) . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getOrderBy(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;



&lt;p&gt;Doctrine_Relation_LocalKey (from line 58):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$alias = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName().&apos;_rel&apos;;
        	
            $dql  = &apos;FROM &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName()
                 .&apos; &apos;.$alias. &apos; WHERE &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getCondition($alias) . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getOrderBy(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="10506">DC-290</key>
            <summary>Relations need alias</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jensen83">Christian Jaentsch</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 Nov 2009 13:24:48 +0000</created>
                <updated>Wed, 9 Jun 2010 16:08:24 +0000</updated>
                                    <version>1.2.0-RC1</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="10921" author="jwage" created="Mon, 30 Nov 2009 17:45:00 +0000"  >&lt;p&gt;If no alias is explicitly defined, the alias is automatically set to the model name. So in your code change you changed it from &quot;ModelName&quot; to &quot;ModelName_rel&quot;. If you had the following:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SELECT * FROM User
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The alias would be &quot;User&quot; and it is the same as if you did:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;SELECT * FROM User User
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="10938" author="jensen83" created="Tue, 1 Dec 2009 10:37:50 +0000"  >&lt;p&gt;unfortunately this does not solve my problem... i narrowed it down to be a problem with addPendingJoinCondition in such a case.&lt;/p&gt;

&lt;p&gt;here is a short scenario of what i want to do...&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$modelName = &apos;Exhibition&apos;;
$alias = &lt;span class=&quot;code-quote&quot;&gt;&quot;exhibitionalias&quot;&lt;/span&gt;;
$subAlias = &apos;exhibitionsub&apos;;
		
$query = Doctrine_Query::create()
-&amp;gt;from($modelName.&apos; &apos;.$alias);
		
$subQuery .= &apos;SELECT &apos;.$subAlias.&apos;.id FROM &apos;.$modelName.&apos; &apos;.$subAlias.&apos; WHERE &apos;.$subAlias.&apos;.id = &apos;.$alias.&apos;.id&apos;;
$query-&amp;gt;addPendingJoinCondition($alias, $alias.&apos;.id IN (&apos;.$subQuery.&apos;)&apos;);
		
$query-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;this works so far as the alias is different from the model name... but if i change&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$alias = &lt;span class=&quot;code-quote&quot;&gt;&quot;Exhibition&quot;&lt;/span&gt;;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;i get the exception&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;exception &apos;Doctrine_Exception&apos; with message &apos;Couldn&apos;t find class exhibitionsub&apos; in /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Table.php:299
Stack trace:
#0 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Table.php(249): Doctrine_Table-&amp;gt;initDefinition()
#1 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Connection.php(1126): Doctrine_Table-&amp;gt;__construct(&apos;exhibitionsub&apos;, &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;(Doctrine_Connection_Mysql), &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
#2 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1924): Doctrine_Connection-&amp;gt;getTable(&apos;exhibitionsub&apos;)
#3 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1722): Doctrine_Query-&amp;gt;loadRoot(&apos;exhibitionsub&apos;, &apos;exhibitionsub&apos;)
#4 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Where.php(76): Doctrine_Query-&amp;gt;load(&apos;exhibitionsub&apos;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
#5 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Condition.php(92): Doctrine_Query_Where-&amp;gt;load(&apos;exhibitionsub.i...&apos;)
#6 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Abstract.php(2077): Doctrine_Query_Condition-&amp;gt;parse(&apos;exhibitionsub.i...&apos;)
#7 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1156): Doctrine_Query_Abstract-&amp;gt;_processDqlQueryPart(&apos;where&apos;, Array)
#8 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1122): Doctrine_Query-&amp;gt;buildSqlQuery(&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
#9 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Abstract.php(1137): Doctrine_Query-&amp;gt;getSqlQuery(Array, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
#10 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Abstract.php(1106): Doctrine_Query_Abstract-&amp;gt;_getDqlCallbackComponents(Array)
#11 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1143): Doctrine_Query_Abstract-&amp;gt;_preQuery()
#12 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1122): Doctrine_Query-&amp;gt;buildSqlQuery(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
#13 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/JoinCondition.php(87): Doctrine_Query-&amp;gt;getSqlQuery()
#14 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Condition.php(92): Doctrine_Query_JoinCondition-&amp;gt;load(&apos;Exhibition.id I...&apos;)
#15 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1089): Doctrine_Query_Condition-&amp;gt;parse(&apos;Exhibition.id I...&apos;)
#16 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1013): Doctrine_Query-&amp;gt;_processPendingJoinConditions(&apos;Exhibition&apos;)
#17 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1228): Doctrine_Query-&amp;gt;_buildSqlFromPart()
#18 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query.php(1122): Doctrine_Query-&amp;gt;buildSqlQuery(&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
#19 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Abstract.php(1137): Doctrine_Query-&amp;gt;getSqlQuery(Array, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
#20 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Abstract.php(1106): Doctrine_Query_Abstract-&amp;gt;_getDqlCallbackComponents(Array)
#21 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/core/lib/Doctrine/Doctrine/Query/Abstract.php(1001): Doctrine_Query_Abstract-&amp;gt;_preQuery(Array)
#22 /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/erh_eeecore/app/modules/&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;/controllers/ExhibitionsController.php(75): Doctrine_Query_Abstract-&amp;gt;execute()
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="11057" author="jwage" created="Mon, 7 Dec 2009 19:50:11 +0000"  >&lt;p&gt;Hmm. Christian, your issue doesn&apos;t seem at all related to the original issue. It seems like an entirely different problem, no?&lt;/p&gt;</comment>
                    <comment id="11081" author="jensen83" created="Tue, 8 Dec 2009 13:38:21 +0000"  >&lt;p&gt;Well, I don&apos;t know where the reason for the problem is exactly... I just solved my problem by adding an alias to the foreignKey and localKey relations. The actual problem seems to be located in how the query is processed if the alias is equal to the name of the &quot;from&quot;-model. this causes problems while adding pending join conditions.&lt;/p&gt;</comment>
                    <comment id="11098" author="jwage" created="Tue, 8 Dec 2009 18:04:42 +0000"  >&lt;p&gt;Ok, well what you described is totally un-related to this issue. If you have found a bug you can open another ticket with detailed information and a failing test case. Thanks, Jon&lt;/p&gt;</comment>
                    <comment id="13197" author="jwage" created="Tue, 8 Jun 2010 15:07:07 +0000"  >&lt;p&gt;Can you show a patch with your changes?&lt;/p&gt;</comment>
                    <comment id="13260" author="jensen83" created="Wed, 9 Jun 2010 16:08:24 +0000"  >&lt;p&gt;My patch is as shown in the description of this issue:&lt;/p&gt;

&lt;p&gt;Doctrine_Relation_ForeignKey (from line 60):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$alias = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName().&apos;_rel&apos;;
            	
                $dql  = &apos;FROM &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName()
                      .&apos; &apos;.$alias. &apos; WHERE &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getCondition($alias) . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getOrderBy(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;



&lt;p&gt;Doctrine_Relation_LocalKey (from line 58):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$alias = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName().&apos;_rel&apos;;
        	
            $dql  = &apos;FROM &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getTable()-&amp;gt;getComponentName()
                 .&apos; &apos;.$alias. &apos; WHERE &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getCondition($alias) . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getOrderBy(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-292] no migrations diff on template change</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-292</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;the generate-migrations-diff does not create migrations if the template changes fields on the model.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;File:&lt;br/&gt;
  tableName: files&lt;br/&gt;
  inheritance:&lt;br/&gt;
    extends: Eeecore_Record_File&lt;br/&gt;
  actAs:&lt;br/&gt;
    Fileable:&lt;/p&gt;


&lt;p&gt;The Fileable Template does the following... (the &quot;fileFields&quot; option stores a couple of fields to add to the model)&lt;/p&gt;

&lt;p&gt;public function setTableDefinition()&lt;br/&gt;
	{&lt;/p&gt;

&lt;p&gt;			foreach ($this-&amp;gt;_options&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;fileFields&amp;#39;&amp;#93;&lt;/span&gt; as $key =&amp;gt; $field)&lt;/p&gt;
{
				$this-&amp;gt;hasColumn($field[&apos;name&apos;], $field[&apos;type&apos;], $field[&apos;length&apos;], $field[&apos;options&apos;]);
                         }
&lt;p&gt;}&lt;/p&gt;


&lt;p&gt;everything works fine on generate-migrations-models (the initial migrations)... but if we change something on the &quot;fileFields&quot; the generate-migrations-diff call doesn&apos;t do anything. We have to rebuild all migrations or write a new migration by hand.&lt;/p&gt;

</description>
                <environment></environment>
            <key id="10508">DC-292</key>
            <summary>no migrations diff on template change</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jensen83">Christian Jaentsch</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 Nov 2009 13:45:09 +0000</created>
                <updated>Mon, 1 Mar 2010 19:44:09 +0000</updated>
                                    <version>1.2.0-RC1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="11061" author="jwage" created="Mon, 7 Dec 2009 19:59:56 +0000"  >&lt;p&gt;I added coverage for this issue and it is working as expected. I compare two schemas:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Article:
  columns:
    title: string(255)
    body: clob
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and I compare it to this one:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Article:
  actAs: [Timestampable]
  columns:
    title: string(255)
    body: clob
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And now I do this:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        $migration = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Migration(dirname(__FILE__) . &apos;/DC292/migrations&apos;);
        $diff = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Migration_Diff(dirname(__FILE__) . &apos;/DC292/from.yml&apos;, dirname(__FILE__) . &apos;/DC292/to.yml&apos;, $migration);
        $changes = $diff-&amp;gt;generateChanges();
        print_r($changes);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It has this in the array:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    [created_columns] =&amp;gt; Array
        (
            [article] =&amp;gt; Array
                (
                    [created_at] =&amp;gt; Array
                        (
                            [notnull] =&amp;gt; 1
                            [type] =&amp;gt; timestamp
                            [length] =&amp;gt; 25
                        )

                    [updated_at] =&amp;gt; Array
                        (
                            [notnull] =&amp;gt; 1
                            [type] =&amp;gt; timestamp
                            [length] =&amp;gt; 25
                        )

                )

        )

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="11082" author="jensen83" created="Tue, 8 Dec 2009 13:42:45 +0000"  >&lt;p&gt;The problem does not occur if you compare 2 schemas while one has a certain template and the other not.&lt;/p&gt;

&lt;p&gt;In my case the problem occurs when the 2 schemas both already have the same template definition but in one case the template itself has changed (e.g. injects one more field into the database table of a certain model via setTableDefinition).&lt;/p&gt;</comment>
                    <comment id="11097" author="jwage" created="Tue, 8 Dec 2009 18:03:35 +0000"  >&lt;p&gt;When I test that it works as well. Can you show some kind of reproducible test case?&lt;/p&gt;</comment>
                    <comment id="11930" author="jwage" created="Mon, 1 Mar 2010 19:44:09 +0000"  >&lt;p&gt;Maybe you could add a test case for this?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-287] Schema: package property for model</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-287</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;There is a property &quot;package&quot; for the schema.yml file.&lt;br/&gt;
&lt;a href=&quot;http://www.doctrine-project.org/documentation/manual/1_0/en/yaml-schema-files#features-examples:packages&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/documentation/manual/1_0/en/yaml-schema-files#features-examples:packages&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But this should be used only for plugin symfony.&lt;/p&gt;

&lt;p&gt;It will be good to have the same feature for classic model (not plugin), to be available to organize the model inside of the model folder.&lt;/p&gt;

&lt;p&gt;This feature is critical for huge project. Indeed having 200 files at the root of the folder model/doctrine is very difficult to maintain.&lt;/p&gt;
</description>
                <environment></environment>
            <key id="10503">DC-287</key>
            <summary>Schema: package property for model</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="titang">Mickael HOAREAU</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 Nov 2009 04:03:02 +0000</created>
                <updated>Tue, 8 Jun 2010 16:19:51 +0000</updated>
                                                                    <component>Schema Files</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="11294" author="titang" created="Fri, 25 Dec 2009 03:05:58 +0000"  >&lt;p&gt;Here a possible patch for doctrine 1.2, it is working for the basic cases.&lt;/p&gt;

&lt;p&gt;It probably needs to be improved.&lt;/p&gt;</comment>
                    <comment id="12195" author="jwage" created="Mon, 15 Mar 2010 11:41:05 +0000"  >&lt;p&gt;I agree this is a problem, but your patch is not good. It doesn&apos;t follow the coding standards and has some formatting problems. Also, it doesn&apos;t seem like a good solution. What do you think?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10259" name="DC-287.patch" size="4117" author="titang" created="Fri, 25 Dec 2009 03:05:58 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-280] Add pre/postHydrateResultSet() events</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-280</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Over the last several weeks I&apos;ve been working on streamlining the access control logic in the application I&apos;m working on, and I realized that Doctrine&apos;s event listeners might be able to help.  For more detailed background information take a look at &lt;a href=&quot;http://groups.google.com:80/group/dallasphp/browse_thread/thread/91e3f107cd611adf&quot; class=&quot;external-link&quot;&gt;http://groups.google.com:80/group/dallasphp/browse_thread/thread/91e3f107cd611adf&lt;/a&gt; ...but here&apos;s the problem in a nutshell:&lt;/p&gt;

&lt;p&gt;Since my application&apos;s access control logic is all implemented in PHP rather than in the database (i.e., I can&apos;t add access control to my queries as a simple WHERE clause), I&apos;m looking for a way to hook into the query process just after the records have been hydrated and actually modify the result set that gets returned, such that only permissible records show up in the final result set.&lt;/p&gt;

&lt;p&gt;Unfortunately, although there are several listener methods that look promising for this, none of them seem to have access to the data being returned.  For instance, if I run a custom query via Doctrine_Query::execute(), the postQuery() hook definitely runs ...but it doesn&apos;t give me access to anything but the query string itself.&lt;/p&gt;

&lt;p&gt;Since, in some instances (e.g., hydration listeners), the Doctrine_Event object is assigned arbitrary data that the listener can modify, I&apos;m wondering if the same thing couldn&apos;t be done more universally?&lt;/p&gt;</description>
                <environment></environment>
            <key id="10495">DC-280</key>
            <summary>Add pre/postHydrateResultSet() events</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jazzslider">Adam Jensen</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 Nov 2009 23:38:02 +0000</created>
                <updated>Tue, 8 Jun 2010 16:09:38 +0000</updated>
                                                                    <component>Connection</component>
                <component>Query</component>
                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="10829" author="jwage" created="Tue, 24 Nov 2009 00:01:06 +0000"  >&lt;p&gt;In Doctrine 1.2 you can create custom hydrators. You can extend the core hydrators to remove the data you want? I think that would work.&lt;/p&gt;</comment>
                    <comment id="10846" author="jazzslider" created="Tue, 24 Nov 2009 19:45:06 +0000"  >&lt;p&gt;Sure enough, that does the trick!&lt;/p&gt;

&lt;p&gt;There are a couple of downsides, though, that might be worth considering in terms of future development:&lt;/p&gt;

&lt;p&gt;1. It would be nice to be able to specify constructor arguments for the hydrator, so that collaborators can be injected.  In my example, the hydrator needs access to the application&apos;s access control list object; currently it&apos;s simply retrieving it from a global registry, but it would be nice for testing&apos;s sake to be able to inject it instead.&lt;br/&gt;
2. It would also be nice to be able to chain multiple hydrators together; that&apos;s one reason I was looking at listeners, since they&apos;ve got that capability already.  That approach allows you to keep distinct behavior distinct a lot more easily.&lt;/p&gt;

&lt;p&gt;Ultimately, I&apos;d still kind of like to see another listener method available ...say, preHydrateResultSet() and postHydrateResultSet()?  I think that would be a more flexible approach, even though the custom hydrator solution works quite well.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;br/&gt;
Adam&lt;/p&gt;</comment>
                    <comment id="10847" author="jwage" created="Tue, 24 Nov 2009 19:49:31 +0000"  >&lt;p&gt;I like the idea. I&apos;ll move this to 1.3. I don&apos;t think we&apos;re gonna have a 1.3 version but if we do, it&apos;ll be there.&lt;/p&gt;</comment>
                    <comment id="12211" author="jwage" created="Mon, 15 Mar 2010 14:22:57 +0000"  >&lt;p&gt;We can include this in a 1.2.x release if you would like to provide a patch and some tests. Thanks, Jon&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-278] Invalid qubquery generated if using oracle adapter instead of pdo_oci</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-278</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Doctrine generates the following invalid subquery if oracle adapter is used (same query is generated corret if pdo_oci is used):&lt;/p&gt;

&lt;p&gt;SELECT DISTINCT &quot;s2&quot;.&quot;code&quot; &lt;br/&gt;
FROM &quot;spend_category&quot; &quot;s2&quot; &lt;br/&gt;
INNER JOIN &quot;company_spend_category&quot; &quot;c4&quot; ON (&quot;s2&quot;.&quot;code&quot; = &quot;c4&quot;.&quot;spendcategory_code&quot;) &lt;br/&gt;
INNER JOIN &quot;company&quot; &quot;c3&quot; ON &quot;c3&quot;.&quot;code&quot; = &quot;c4&quot;.&quot;company_code&quot; &lt;br/&gt;
WHERE &quot;s2&quot;.&quot;code&quot; = &apos;19000000&apos; &lt;br/&gt;
AND &quot;c3&quot;.&quot;is_deleted&quot; IS NOT NULL &lt;br/&gt;
AND &quot;s2&quot;.&quot;is_deleted&quot; IS NOT NULL &lt;br/&gt;
ORDER BY &quot;c3&quot;.&quot;name&quot; desc&lt;/p&gt;

&lt;p&gt;The problem is that the order by column is not part of the selected columns.&lt;/p&gt;

&lt;p&gt;Sample dql statement to reproduce this error:&lt;/p&gt;

&lt;p&gt;$this-&amp;gt;pageAllPager = new Doctrine_Pager(&lt;br/&gt;
        $q = Doctrine_Query::create()&lt;br/&gt;
                -&amp;gt;select(&apos;c.code, c.name, c.is_activated, c.is_deleted, sc.code&apos;)&lt;br/&gt;
                -&amp;gt;from(&apos;SpendCategory sc&apos;)&lt;br/&gt;
                -&amp;gt;innerJoin(&apos;sc.Companies c&apos;)&lt;br/&gt;
                -&amp;gt;where(&quot;sc.code = &apos;$spendcategory&apos;&quot;)&lt;br/&gt;
                -&amp;gt;addWhere(&apos;c.is_deleted IS NOT NULL&apos;)&lt;br/&gt;
                -&amp;gt;addWhere(&apos;sc.is_deleted IS NOT NULL&apos;)&lt;br/&gt;
                -&amp;gt;orderBy($orderBy)&lt;br/&gt;
                -&amp;gt;setHydrationMode(Doctrine::HYDRATE_ARRAY),&lt;br/&gt;
                $page,&lt;br/&gt;
                $resultsPerPage);&lt;br/&gt;
}&lt;/p&gt;</description>
                <environment>Linux, Oracle 10g</environment>
            <key id="10491">DC-278</key>
            <summary>Invalid qubquery generated if using oracle adapter instead of pdo_oci</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tom808">Thomas Wahle</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 Nov 2009 18:03:28 +0000</created>
                <updated>Wed, 9 Jun 2010 13:02:31 +0000</updated>
                                                    <fixVersion>1.2.0</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="10827" author="jwage" created="Mon, 23 Nov 2009 23:37:04 +0000"  >&lt;p&gt;I believe this is fixed now in the latest Doctrine 1.2. Can you test and confirm?&lt;/p&gt;</comment>
                    <comment id="10855" author="tom808" created="Tue, 24 Nov 2009 21:51:23 +0000"  >&lt;p&gt;It is not fixed with 1.2 RC1&lt;/p&gt;

&lt;p&gt;Same sql wich work fine with pdo_oci generates an error using the oracle adapter&lt;/p&gt;

&lt;p&gt;&amp;lt;p&amp;gt;&lt;br/&gt;
    &amp;lt;b&amp;gt;Message:&amp;lt;/b&amp;gt; ORA-01791: Kein mit SELECT ausgew&#228;hlter Ausdruck : SELECT s.code AS s_&lt;em&gt;code, c.code AS c&lt;/em&gt;&lt;em&gt;code, c.name AS c&lt;/em&gt;&lt;em&gt;name, c.is_activated AS c&lt;/em&gt;&lt;em&gt;is_activated, c.is_deleted AS c&lt;/em&gt;_is_deleted FROM spend_category s INNER JOIN company_spend_category c2 ON (s.code = c2.spendcategory_code) INNER JOIN company c ON c.code = c2.company_code WHERE s.code IN (SELECT a.code FROM ( SELECT DISTINCT s2.code FROM spend_category s2 INNER JOIN company_spend_category c4 ON (s2.code = c4.spendcategory_code) INNER JOIN company c3 ON c3.code = c4.company_code WHERE s2.code = &apos;37000000&apos; AND c3.is_deleted IS NOT NULL AND s2.is_deleted IS NOT NULL ORDER BY c3.name desc ) a WHERE ROWNUM &amp;lt;= 10) AND (s.code = &apos;37000000&apos; AND c.is_deleted IS NOT NULL AND s.is_deleted IS NOT NULL) ORDER BY c.name desc. &lt;/p&gt;

&lt;p&gt;Failing Query: &quot;SELECT s.code AS s_&lt;em&gt;code, c.code AS c&lt;/em&gt;&lt;em&gt;code, c.name AS c&lt;/em&gt;&lt;em&gt;name, c.is_activated AS c&lt;/em&gt;&lt;em&gt;is_activated, c.is_deleted AS c&lt;/em&gt;_is_deleted FROM spend_category s INNER JOIN company_spend_category c2 ON (s.code = c2.spendcategory_code) INNER JOIN company c ON c.code = c2.company_code WHERE s.code IN (SELECT a.code FROM ( SELECT DISTINCT s2.code FROM spend_category s2 INNER JOIN company_spend_category c4 ON (s2.code = c4.spendcategory_code) INNER JOIN company c3 ON c3.code = c4.company_code WHERE s2.code = &apos;37000000&apos; AND c3.is_deleted IS NOT NULL AND s2.is_deleted IS NOT NULL ORDER BY c3.name desc ) a WHERE ROWNUM &amp;lt;= 10) AND (s.code = &apos;37000000&apos; AND c.is_deleted IS NOT NULL AND s.is_deleted IS NOT NULL) ORDER BY c.name desc&quot;&amp;lt;/p&amp;gt;&lt;/p&gt;</comment>
                    <comment id="10856" author="jwage" created="Tue, 24 Nov 2009 21:53:02 +0000"  >&lt;p&gt;I can&apos;t reproduce the issue in a test case. Can you help me with that? When I test what you&apos;re describing I get the results that are expected.&lt;/p&gt;</comment>
                    <comment id="10862" author="tom808" created="Wed, 25 Nov 2009 09:39:55 +0000"  >&lt;p&gt;Hi Jon,&lt;/p&gt;

&lt;p&gt;if i undestand the last comment correctly this issue will be fixed in 1.2 RC2.&lt;/p&gt;

&lt;p&gt;I have reviewed lots of existing test cases but did not find an example where pdo_oci or oracle adapter is used.&lt;/p&gt;

&lt;p&gt;Can you please forward the test case you have created for &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-278&quot; title=&quot;Invalid qubquery generated if using oracle adapter instead of pdo_oci&quot;&gt;DC-278&lt;/a&gt; to me? I will  use this as a template for any further issues and hopefuly reduce your efforts.&lt;/p&gt;

&lt;p&gt;Kind regards&lt;br/&gt;
Tom&lt;/p&gt;

&lt;p&gt;&amp;gt; Jonathan H. Wage updated &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-278&quot; title=&quot;Invalid qubquery generated if using oracle adapter instead of pdo_oci&quot;&gt;DC-278&lt;/a&gt;:&lt;br/&gt;
&amp;gt; --------------------------------&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;    Fix Version/s: 1.2.0-RC2&lt;br/&gt;
&amp;gt;                       (was: 1.2.0-RC1)&lt;/p&gt;

</comment>
                    <comment id="11160" author="tom808" created="Thu, 10 Dec 2009 14:50:55 +0000"  >&lt;p&gt;I do believe that I have found the reason and it is still an issue with Doctrine 1.2.1 &lt;/p&gt;

&lt;p&gt;Doctrine generate the following subquery which is processed in Doctrine_Query:: getLimitSubquery(). &lt;/p&gt;

&lt;p&gt;SELECT b.id FROM &lt;br/&gt;
	(&lt;br/&gt;
		SELECT a.*, ROWNUM AS doctrine_rownum FROM	&lt;br/&gt;
		(&lt;br/&gt;
			SELECT DISTINCT i.id, i.lft &lt;br/&gt;
			FROM item i &lt;br/&gt;
			INNER JOIN oum o ON i.oum_id = o.id AND (o.is_deleted IS NOT NULL) &lt;br/&gt;
			INNER JOIN item_type i2 ON i.type_id = i2.id AND (i2.is_deleted IS NOT NULL)&lt;br/&gt;
			INNER JOIN item_translation i3 ON i.id = i3.id &lt;br/&gt;
			LEFT JOIN attachment a ON i.id = a.item_id AND (a.is_deleted = 0) &lt;br/&gt;
			WHERE i.bundling_id = ? &lt;br/&gt;
			ORDER BY i.lft &lt;br/&gt;
		) a  &lt;br/&gt;
	) b &lt;br/&gt;
WHERE doctrine_rownum BETWEEN 3 AND 4&lt;/p&gt;


&lt;p&gt;This function replaces the table alias names. It looks like that the first occurance of &quot;a&quot; is detected and the inner alias for table attachment &quot;a&quot; is replaced by &quot;a2&quot; - that&apos;s fine. But also the outer table alias &quot;a&quot; is replaced by &quot;a2&quot; The result will be&lt;/p&gt;

&lt;p&gt;SELECT b.id FROM &lt;br/&gt;
	(&lt;br/&gt;
		SELECT a.*, ROWNUM AS doctrine_rownum FROM	&lt;br/&gt;
		(&lt;br/&gt;
			&lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;&lt;br/&gt;
			LEFT JOIN attachment a2 ON i.id = a2.item_id AND (a2.is_deleted = 0) &lt;br/&gt;
			WHERE i.bundling_id = ? &lt;br/&gt;
			ORDER BY i.lft &lt;br/&gt;
		) a2 &#61663; !!!!!!  &lt;br/&gt;
	) b &lt;/p&gt;

&lt;p&gt;&#8222;a&quot; is selected but the alias has been changed to &#8222;a2&quot; and this will cause an sql error.&lt;/p&gt;

&lt;p&gt;It looks like that this bug will only raise if a table is used in the subquery which starts with an &quot;a&quot;&lt;/p&gt;</comment>
                    <comment id="11176" author="tom808" created="Fri, 11 Dec 2009 16:47:18 +0000"  >&lt;p&gt;As a workaround i have change &quot;a&quot; to &quot;x&quot; in the Doctrine_Connection_Oracle::_createLimitSubquery()&lt;/p&gt;

&lt;p&gt;As far as no table in our projekt starts with character &quot;x&quot; this works fine for me.&lt;/p&gt;

&lt;p&gt;By the way: Shouldn&apos;t it be $this-&amp;gt;quoteIdentifier(&apos;a&apos;) . &apos;.&lt;b&gt;&apos; instead of just a.&lt;/b&gt; ??&lt;/p&gt;

&lt;p&gt;original code:&lt;br/&gt;
                    $query = &apos;SELECT b.&apos;.$column.&apos; FROM ( &apos;.&lt;br/&gt;
                                 &apos;SELECT a.*, ROWNUM AS doctrine_rownum FROM ( &apos;&lt;br/&gt;
                                   . $query . &apos; ) &apos; . $this-&amp;gt;quoteIdentifier(&apos;a&apos;) . &apos; &apos;.&lt;br/&gt;
                              &apos; ) &apos; . $this-&amp;gt;quoteIdentifier(&apos;b&apos;) . &apos; &apos;.&lt;br/&gt;
                              &apos;WHERE doctrine_rownum BETWEEN &apos; . $min .  &apos; AND &apos; . $max;&lt;/p&gt;

&lt;p&gt;modified code:&lt;br/&gt;
                    $query = &apos;SELECT b.&apos;.$column.&apos; FROM ( &apos;.&lt;br/&gt;
                                 &apos;SELECT x.*, ROWNUM AS doctrine_rownum FROM ( &apos;&lt;br/&gt;
                                   . $query . &apos; ) &apos; . $this-&amp;gt;quoteIdentifier(&apos;x&apos;) . &apos; &apos;.&lt;br/&gt;
                              &apos; ) &apos; . $this-&amp;gt;quoteIdentifier(&apos;b&apos;) . &apos; &apos;.&lt;br/&gt;
                              &apos;WHERE doctrine_rownum BETWEEN &apos; . $min .  &apos; AND &apos; . $max;&lt;/p&gt;</comment>
                    <comment id="13195" author="jwage" created="Tue, 8 Jun 2010 15:01:45 +0000"  >&lt;p&gt;Can you provide the change that fixes the problem for you as a diff so we can test it?&lt;/p&gt;</comment>
                    <comment id="13244" author="tom808" created="Wed, 9 Jun 2010 03:37:49 +0000"  >&lt;p&gt;Hi Jon,&lt;/p&gt;

&lt;p&gt;long time with no hear from you. Hope you are well!&lt;/p&gt;

&lt;p&gt;I am sorry, we did not fix this bug really. As writte above we have just implemented a work around by choosing a different character (&quot;x&quot; instead of &quot;a&quot;) for the name of the generated sub query alias. This works fine with our data model (no table starts with &quot;x&quot;) but may cause the same error with other data models.&lt;/p&gt;

&lt;p&gt;At all: There was too much trouble in this project last year. Due to this we made the decision to go ahead with pdo_oci to finish the project in time.&lt;/p&gt;

&lt;p&gt;Kind regards&lt;br/&gt;
Thomas&lt;/p&gt;</comment>
                    <comment id="13254" author="jwage" created="Wed, 9 Jun 2010 13:02:31 +0000"  >&lt;p&gt;I&apos;ll leave this open if someone runs across the same problem, a test case showing the issue would help with pin pointing the problem area in the code.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-185] The pessimistic offline locking manager locks the entire table</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-185</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Scenario: &lt;br/&gt;
    $entity = Doctrine::getTable(&apos;Steps&apos;)-&amp;gt;find($pID);&lt;br/&gt;
    $lockingManager = new Doctrine_Locking_Manager_Pessimistic( Doctrine_Manager::connection()  );&lt;br/&gt;
    $lockingManager-&amp;gt;releaseAgedLocks(300);&lt;br/&gt;
    $gotLock = $lockingManager-&amp;gt;getLock($entity, &apos;user1&apos; ); &lt;/p&gt;

&lt;p&gt;Running this code locks the entire table &quot;Steps&quot;, and not just the record. &lt;/p&gt;

&lt;p&gt;in the table &quot;doctrine_lock_tracking&quot;, in the fields: &quot;object_type&quot; and &quot;object_key&quot;  are saved in this case: &quot;Steps&quot; and &quot;IDStep&quot;. &lt;br/&gt;
I think that here must be saved &quot;Steps&quot; and &quot;120&quot; (the value of IDStep). &lt;/p&gt;
</description>
                <environment>Windows XP, WampServer Version 2.0&lt;br/&gt;
</environment>
            <key id="10336">DC-185</key>
            <summary>The pessimistic offline locking manager locks the entire table</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fbrussa">Fabian Brussa</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 Nov 2009 18:33:58 +0000</created>
                <updated>Thu, 13 Dec 2012 13:12:52 +0000</updated>
                                    <version>1.1.4</version>
                <version>1.1.5</version>
                <version>1.2.3</version>
                                                        <due></due>
                    <votes>7</votes>
                        <watches>7</watches>
                        <comments>
                    <comment id="10736" author="fbrussa" created="Wed, 18 Nov 2009 16:01:48 +0000"  >&lt;p&gt;Is anybody looking into this issue ?&lt;/p&gt;</comment>
                    <comment id="10755" author="jwage" created="Wed, 18 Nov 2009 22:05:55 +0000"  >&lt;p&gt;Can you provide a test case that shows the issue? It is hard to look into the issue without a test to run &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; When I look at the code and our tests everything is passing and fine so I am not sure what your issue could be. Re-open if you have more information to provide.&lt;/p&gt;</comment>
                    <comment id="10774" author="fbrussa" created="Thu, 19 Nov 2009 12:14:42 +0000"  >&lt;p&gt;ok, I attach the test case&lt;/p&gt;</comment>
                    <comment id="10994" author="fbrussa" created="Thu, 3 Dec 2009 19:51:20 +0000"  >&lt;p&gt;Have you already been able to look at the testcase ??&lt;/p&gt;</comment>
                    <comment id="11385" author="fbrussa" created="Thu, 14 Jan 2010 19:48:41 +0000"  >&lt;p&gt;Any news ??&lt;/p&gt;</comment>
                    <comment id="13413" author="leszczu" created="Fri, 25 Jun 2010 10:15:21 +0000"  >&lt;p&gt;This issue is still valid for Doctrine 1.2. Doctrine_Locking_Manager_Pessimistic is &lt;b&gt;UNUSABLE&lt;/b&gt; without this bug fixed!&lt;/p&gt;</comment>
                    <comment id="13496" author="markus.woessner" created="Fri, 2 Jul 2010 05:26:05 +0000"  >&lt;p&gt;Having a look at &quot;Doctrine_Locking_Manager_Pessimistic::getLock()&quot; it becomes clear what causes this misbehaviour:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getLock(Doctrine_Record $record, $userIdent)
    {
        $objectType = $record-&amp;gt;getTable()-&amp;gt;getComponentName();
        $key        = $record-&amp;gt;getTable()-&amp;gt;getIdentifier();

        $gotLock = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
        $time = time();

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (is_array($key)) {
            &lt;span class=&quot;code-comment&quot;&gt;// Composite key
&lt;/span&gt;            $key = implode(&apos;|&apos;, $key);
        }

        &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
            $dbh = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;conn-&amp;gt;getDbh();
            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;conn-&amp;gt;beginTransaction();

            $stmt = $dbh-&amp;gt;prepare(&apos;INSERT INTO &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_lockTable
                                  . &apos; (object_type, object_key, user_ident, timestamp_obtained)&apos;
                                  . &apos; VALUES (:object_type, :object_key, :user_ident, :ts_obtained)&apos;);

            $stmt-&amp;gt;bindParam(&apos;:object_type&apos;, $objectType);
            $stmt-&amp;gt;bindParam(&apos;:object_key&apos;, $key);
            $stmt-&amp;gt;bindParam(&apos;:user_ident&apos;, $userIdent);
            $stmt-&amp;gt;bindParam(&apos;:ts_obtained&apos;, $time);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There is NO hint about the Record&apos;s identifier VALUE but only about the identifier&apos;s NAME (mostly &quot;id&quot;) which appears to be redundant information. Instead of ...&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        $key = $record-&amp;gt;getTable()-&amp;gt;getIdentifier();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;..there should be something like ..&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        $key = $record-&amp;gt;get($record-&amp;gt;getTable()-&amp;gt;getIdentifier());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In case of composite keys a string concatenation, prefixed by identifier&apos;s name might work but I would recommend using &quot;md5()&quot; on resulting value to limit its length since field &quot;object_key&quot; is limited to 250 chars.&lt;/p&gt;</comment>
                    <comment id="13497" author="branleb" created="Fri, 2 Jul 2010 10:49:03 +0000"  >&lt;p&gt;Based on the previous comment by Markus W&#246;&#223;ner i created a patch for  row based locking.&lt;/p&gt;

&lt;p&gt;It concatenates the PK fields and their values to a string and calculates the sha-1 hash as a unique string representing that record. This string is then used as key so that we&apos;ll only lock the single Record and not the whole table.&lt;/p&gt;

&lt;p&gt;I hope you&apos;ll give this patch a try - It solved this problem for me.&lt;/p&gt;</comment>
                    <comment id="13498" author="markus.woessner" created="Fri, 2 Jul 2010 17:18:56 +0000"  >&lt;p&gt;I applied patch from Mr. Florian Zumkeller-Quast and provided testcase didn&apos;t fail anymore. I think this should do it. By the way I find it strange that this issue isn&apos;t already fixed. I guess locking is not very much used by Doctrine users.&lt;/p&gt;</comment>
                    <comment id="16895" author="jeromeweb" created="Mon, 21 Nov 2011 10:29:51 +0000"  >&lt;p&gt;I applied patch too and it works now. I guess too that nobody use Lockings but when you use it ... without the patch it fails.&lt;/p&gt;</comment>
                    <comment id="19131" author="greg0ire" created="Thu, 13 Dec 2012 13:12:52 +0000"  >&lt;p&gt;Duplicate of &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-984&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-984&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10174" name="DC185TestCase.php" size="1952" author="fbrussa" created="Thu, 19 Nov 2009 12:15:52 +0000" />
                    <attachment id="10688" name="row_based_locking.patch" size="3262" author="branleb" created="Fri, 2 Jul 2010 10:49:03 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-81] Using WITH in combinations with LIMIT returns unexpected results</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-81</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When I try to limit left joined records with an additional WITH clause, it seems to be bugged when also specifying a LIMIT.&lt;/p&gt;

&lt;p&gt;My DQL:&lt;/p&gt;

&lt;p&gt;FROM Transporter t LEFT JOIN t.Profile p LEFT JOIN t.Requests r WITH (r.distributor_id = ?) WHERE t.is_active = ? ORDER BY p.company_country, p.company_name LIMIT 20&lt;/p&gt;

&lt;p&gt;This returns me 0 results, while removing the LIMIT (or the WITH) will return me 2 results.&lt;/p&gt;</description>
                <environment>Mac OS X 10.6.1</environment>
            <key id="10143">DC-81</key>
            <summary>Using WITH in combinations with LIMIT returns unexpected results</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="gerryvdm">Gerry Vandermaesen</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Oct 2009 07:59:08 +0000</created>
                <updated>Tue, 15 Jun 2010 10:15:33 +0000</updated>
                                    <version>1.2.0-ALPHA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="10420" author="jwage" created="Mon, 2 Nov 2009 22:35:55 +0000"  >&lt;p&gt;Sorry this is just not enough information to produce the problem. I ran some basic tests looking for what you pointed out but I didn&apos;t see any issues. Plus our tests cover this functionality so I imagine that if it were broke we&apos;d get some failures. However, I could be wrong so if you could re-open and provide a failing test case for us that would help with getting it fixed.&lt;/p&gt;</comment>
                    <comment id="12688" author="gerryvdm" created="Fri, 16 Apr 2010 05:27:46 +0000"  >&lt;p&gt;I actually ran into this problem once again in another problem.&lt;/p&gt;

&lt;p&gt;Schema:&lt;/p&gt;

&lt;p&gt;Story:&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      primary: true&lt;br/&gt;
      autoincrement: true&lt;/p&gt;

&lt;p&gt;Picture:&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      primary: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    story_id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
    is_selected:&lt;br/&gt;
      type: boolean&lt;br/&gt;
      notnull: true&lt;br/&gt;
      default: false&lt;br/&gt;
  relations:&lt;br/&gt;
    Story:&lt;br/&gt;
      foreignAlias: Pictures&lt;br/&gt;
      local: story_id&lt;br/&gt;
      foreign: id&lt;br/&gt;
      type: one&lt;br/&gt;
      foreignType: many&lt;br/&gt;
      onDelete: CASCADE&lt;/p&gt;

&lt;p&gt;Query:&lt;/p&gt;

&lt;p&gt;Doctrine_Query::create()&lt;br/&gt;
	-&amp;gt;from(&apos;Story s&apos;)&lt;br/&gt;
	-&amp;gt;leftJoin(&apos;s.Pictures p WITH p.is_selected = ?&apos;, true)&lt;br/&gt;
	-&amp;gt;where(&apos;s.id = ?&apos;, 5)&lt;br/&gt;
	-&amp;gt;limit(10);&lt;/p&gt;

&lt;p&gt;Outputted SQL:&lt;/p&gt;

&lt;p&gt;SELECT  &quot;s&quot;.&quot;id&quot; AS &quot;s_&lt;em&gt;id&quot;, &quot;s&quot;.&quot;first_name&quot; AS &quot;s&lt;/em&gt;&lt;em&gt;first_name&quot;, &quot;s&quot;.&quot;last_name&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;last_name&quot;, &quot;s&quot;.&quot;country&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;country&quot;, &quot;s&quot;.&quot;email&quot; AS &quot;s&lt;/em&gt;&lt;em&gt;email&quot;, &quot;s&quot;.&quot;content&quot; AS &quot;s&lt;/em&gt;&lt;em&gt;content&quot;, &quot;s&quot;.&quot;title&quot; AS &quot;s&lt;/em&gt;&lt;em&gt;title&quot;, &quot;s&quot;.&quot;summary&quot; AS &quot;s&lt;/em&gt;&lt;em&gt;summary&quot;, &quot;s&quot;.&quot;is_published&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;is_published&quot;, &quot;s&quot;.&quot;is_rejected&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;is_rejected&quot;, &quot;s&quot;.&quot;is_promoted&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;is_promoted&quot;, &quot;s&quot;.&quot;published_at&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;published_at&quot;, &quot;s&quot;.&quot;created_at&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;created_at&quot;, &quot;s&quot;.&quot;updated_at&quot; AS  &quot;s&lt;/em&gt;&lt;em&gt;updated_at&quot;, &quot;p&quot;.&quot;id&quot; AS &quot;p&lt;/em&gt;&lt;em&gt;id&quot;, &quot;p&quot;.&quot;story_id&quot; AS &quot;p&lt;/em&gt;&lt;em&gt;story_id&quot;, &quot;p&quot;.&quot;filename_original&quot; AS  &quot;p&lt;/em&gt;&lt;em&gt;filename_original&quot;, &quot;p&quot;.&quot;filename_large&quot; AS &quot;p&lt;/em&gt;&lt;em&gt;filename_large&quot;, &quot;p&quot;.&quot;filename_thumb&quot; AS &quot;p&lt;/em&gt;&lt;em&gt;filename_thumb&quot;, &quot;p&quot;.&quot;mime_type&quot; AS  &quot;p&lt;/em&gt;&lt;em&gt;mime_type&quot;, &quot;p&quot;.&quot;is_selected&quot; AS  &quot;p&lt;/em&gt;&lt;em&gt;is_selected&quot;, &quot;p&quot;.&quot;created_at&quot; AS  &quot;p&lt;/em&gt;&lt;em&gt;created_at&quot;, &quot;p&quot;.&quot;updated_at&quot; AS  &quot;p&lt;/em&gt;_updated_at&quot; FROM &quot;story&quot; &quot;s&quot; LEFT JOIN &quot;picture&quot; &quot;p&quot; ON &quot;s&quot;.&quot;id&quot; = &quot;p&quot;.&quot;story_id&quot; AND (&quot;p&quot;.&quot;is_selected&quot; = &apos;1&apos;) WHERE &quot;s&quot;.&quot;id&quot; IN (SELECT  DISTINCT &quot;s2&quot;.&quot;id&quot; FROM &quot;story&quot; &quot;s2&quot; LEFT JOIN &quot;picture&quot; &quot;p2&quot; ON &quot;s2&quot;.&quot;id&quot; = &quot;p2&quot;.&quot;story_id&quot; AND (&quot;p2&quot;.&quot;is_selected&quot; = &apos;5&apos;) WHERE &quot;s2&quot;.&quot;id&quot; = &apos;1&apos; ORDER BY &quot;s2&quot;.&quot;published_at&quot; DESC LIMIT  10) AND (&quot;s&quot;.&quot;id&quot; = &apos;5&apos;) ORDER BY  &quot;s&quot;.&quot;published_at&quot; DESC&lt;/p&gt;

&lt;p&gt;Notice the WHERE &quot;s2&quot;.&quot;id&quot; = &apos;1&apos; !&lt;/p&gt;</comment>
                    <comment id="13194" author="jwage" created="Tue, 8 Jun 2010 15:01:06 +0000"  >&lt;p&gt;Can you provide a test case we can run?&lt;/p&gt;</comment>
                    <comment id="13327" author="gerryvdm" created="Tue, 15 Jun 2010 10:15:33 +0000"  >&lt;p&gt;I could not figure out what test to write but I did narrow the problem down.&lt;/p&gt;

&lt;p&gt;It seems that the order of the generated SQL clauses does not match the order of the passed parameters, so in the final SQL query the values are mixed up. You can actually see that happening in the SQL query above. I also noticed there a special cases hardcoded in the code for MySQL and PgSQL as far as these &quot;limit subqueries&quot; go, so that might be another reason why you havent bumped into problem before. I was using an SQLite driver.&lt;/p&gt;

&lt;p&gt;I suppose something goes wrong in the SQL generation, but I don&apos;t know the core good enough to find out where exactly it does go wrong, so I&apos;m afraid I can&apos;t attach a test case, but it should be easy to reproduce now anyway.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-67] Taggable not working</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-67</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;After enabling Taggable extension, magic methods on the tables (e.g. getPopularTags)&lt;br/&gt;
cannot be reached:&lt;/p&gt;

&lt;p&gt;Doctrine::getTable(&apos;Upload&apos;)-&amp;gt;getPopularTags();&lt;/p&gt;

&lt;p&gt;Fatal error: Uncaught exception &apos;Doctrine_Table_Exception&apos; with message &apos;Unknown method Doctrine_Table::getPopularTags&apos; in C:\Users\user\www\extens.dev\lib\Doctrine\Table.php:2608 Stack trace: #0 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: Doctrine_Table-&amp;gt;__call(&apos;getPopularTags&apos;, Array) #1 C:\Users\user\www\extens.dev\index.php(7): Doctrine_Table-&amp;gt;getPopularTags() #2 &lt;/p&gt;
{main}
&lt;p&gt; thrown in C:\Users\user\www\extens.dev\lib\Doctrine\Table.php on line 2608&lt;/p&gt;</description>
                <environment>PHP 5.2.8, Doctrine 1.2.0 Alpha1, Vista, Sandbox 1.2.0 Alpha1</environment>
            <key id="10118">DC-67</key>
            <summary>Taggable not working</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="admirau">admirau</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Sep 2009 10:49:57 +0000</created>
                <updated>Thu, 15 Apr 2010 14:50:14 +0000</updated>
                                    <version>1.2.0-ALPHA1</version>
                                                <component>Extensions</component>
                        <due></due>
                    <votes>4</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="10187" author="admirau" created="Thu, 8 Oct 2009 12:16:38 +0000"  >&lt;p&gt;The same with Alpha2&lt;/p&gt;</comment>
                    <comment id="10199" author="admirau" created="Sat, 10 Oct 2009 14:34:25 +0000"  >&lt;p&gt;Running the tests results in one failure:&lt;/p&gt;


&lt;p&gt;Doctrine Unit Tests&lt;br/&gt;
===================&lt;br/&gt;
Doctrine_Template_Taggable_TestCase.............................................failed&lt;/p&gt;


&lt;p&gt;Unexpected Doctrine_Connection_Sqlite_Exception thrown in &lt;span class=&quot;error&quot;&gt;&amp;#91;Doctrine_Template_Taggable_TestCase&amp;#93;&lt;/span&gt; with message [SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;HY000&amp;#93;&lt;/span&gt;: General error: 1 no such column: a__2] in C:\Users\user\www\extens.dev\lib\Doctrine\Connection.php on line 1067&lt;/p&gt;

&lt;p&gt;Trace&lt;br/&gt;
-------------&lt;/p&gt;

&lt;p&gt;#0 C:\Users\user\www\extens.dev\lib\Doctrine\Connection.php(1015): Doctrine_Connection-&amp;gt;rethrowException(Object(PDOException), Object(Doctrine_Connection_Sqlite))&lt;br/&gt;
#1 C:\Users\user\www\extens.dev\lib\Doctrine\Query\Abstract.php(936): Doctrine_Connection-&amp;gt;execute(&apos;SELECT t.id AS ...&apos;, Array)&lt;br/&gt;
#2 C:\Users\user\www\extens.dev\lib\Doctrine\Query\Abstract.php(990): Doctrine_Query_Abstract-&amp;gt;_execute(Array)&lt;br/&gt;
#3 C:\Users\user\www\extens.dev\tools\sandbox\extensions\Taggable\lib\Doctrine\Template\TaggableTag.php(76): Doctrine_Query_Abstract-&amp;gt;execute(Array, 2)&lt;br/&gt;
#4 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: Doctrine_Template_TaggableTag-&amp;gt;getPopularTagsTableProxy(Array)&lt;br/&gt;
#5 C:\Users\user\www\extens.dev\lib\Doctrine\Record.php(2569): call_user_func_array(Array, Array)&lt;br/&gt;
#6 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: Doctrine_Record-&amp;gt;__call(&apos;getPopularTagsT...&apos;, Array)&lt;br/&gt;
#7 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: TaggableTag-&amp;gt;getPopularTagsTableProxy(Array)&lt;br/&gt;
#8 C:\Users\user\www\extens.dev\lib\Doctrine\Table.php(2605): call_user_func_array(Array, Array)&lt;br/&gt;
#9 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: Doctrine_Table-&amp;gt;__call(&apos;getPopularTags&apos;, Array)&lt;br/&gt;
#10 C:\Users\user\www\extens.dev\tools\sandbox\extensions\Taggable\tests\Template\TaggableTestCase.php(216): Doctrine_Table-&amp;gt;getPopularTags(Array)&lt;br/&gt;
#11 C:\Users\user\www\extens.dev\tests\DoctrineTest\UnitTestCase.php(144): Doctrine_Template_Taggable_TestCase-&amp;gt;testGetPopularTags()&lt;br/&gt;
#12 C:\Users\user\www\extens.dev\tests\DoctrineTest\GroupTest.php(61): UnitTestCase-&amp;gt;run()&lt;br/&gt;
#13 C:\Users\user\www\extens.dev\tests\DoctrineTest.php(180): GroupTest-&amp;gt;run(Object(DoctrineTest_Reporter_Cli), &apos;&apos;)&lt;br/&gt;
#14 C:\Users\user\www\extens.dev\tools\sandbox\extensions\Taggable\tests\run.php(29): DoctrineTest-&amp;gt;run()&lt;br/&gt;
#15 &lt;/p&gt;
{main}



&lt;p&gt;Tested: 1 test cases.&lt;br/&gt;
Successes: 26 passes.&lt;br/&gt;
Failures: 1 fails.&lt;br/&gt;
Number of new Failures: 0 &lt;br/&gt;
Number of fixed Failures: 0 &lt;/p&gt;

&lt;p&gt;Tests ran in 1 seconds and used 15279.15625 KB of memory&lt;/p&gt;</comment>
                    <comment id="10468" author="jwage" created="Tue, 3 Nov 2009 21:52:15 +0000"  >&lt;p&gt;The tests all pass now.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/extension/Taggable/1_2-1_0/tests&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/extension/Taggable/1_2-1_0/tests&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="10471" author="admirau" created="Wed, 4 Nov 2009 08:41:14 +0000"  >&lt;p&gt;It still does not work on my environment (Windows or Ubuntu 9.10, PHP 5.3/5.2.6)&lt;br/&gt;
The test result is a bit different, but still fails:&lt;/p&gt;

&lt;p&gt;Doctrine Unit Tests&lt;br/&gt;
===================&lt;br/&gt;
Doctrine_Template_Taggable_TestCase.............................................failed&lt;/p&gt;


&lt;p&gt;Unexpected Doctrine_Record_UnknownPropertyException thrown in &lt;span class=&quot;error&quot;&gt;&amp;#91;Doctrine_Template_Taggable_TestCase&amp;#93;&lt;/span&gt; with message &lt;span class=&quot;error&quot;&gt;&amp;#91;Unknown record property / related component &amp;quot;total_num&amp;quot; on &amp;quot;TaggableTag&amp;quot;&amp;#93;&lt;/span&gt; in /home/user/doctrine12b/lib/Doctrine/Record/Filter/Standard.php on line 55&lt;/p&gt;

&lt;p&gt;Trace&lt;br/&gt;
-------------&lt;/p&gt;

&lt;p&gt;#0 /home/taat/doctrine12b/lib/Doctrine/Record.php(1359): Doctrine_Record_Filter_Standard-&amp;gt;filterGet(Object(TaggableTag), &apos;total_num&apos;)&lt;br/&gt;
#1 /home/taat/doctrine12b/lib/Doctrine/Record.php(1318): Doctrine_Record-&amp;gt;_get(&apos;total_num&apos;, true)&lt;br/&gt;
#2 /home/taat/doctrine12b/lib/Doctrine/Access.php(117): Doctrine_Record-&amp;gt;get(&apos;total_num&apos;)&lt;br/&gt;
#3 /home/taat/doctrine12b/tools/sandbox/extensions/Taggable/tests/Template/TaggableTestCase.php(217): Doctrine_Access-&amp;gt;offsetGet(&apos;total_num&apos;)&lt;br/&gt;
#4 /home/taat/doctrine12b/tests/DoctrineTest/UnitTestCase.php(144): Doctrine_Template_Taggable_TestCase-&amp;gt;testGetPopularTags()&lt;br/&gt;
#5 /home/taat/doctrine12b/tests/DoctrineTest/GroupTest.php(61): UnitTestCase-&amp;gt;run()&lt;br/&gt;
#6 /home/taat/doctrine12b/tests/DoctrineTest.php(180): GroupTest-&amp;gt;run(Object(DoctrineTest_Reporter_Cli), &apos;&apos;)&lt;br/&gt;
#7 /home/taat/doctrine12b/tools/sandbox/extensions/Taggable/tests/run.php(29): DoctrineTest-&amp;gt;run()&lt;br/&gt;
#8 &lt;/p&gt;
{main}



&lt;p&gt;Tested: 1 test cases.&lt;br/&gt;
Successes: 26 passes.&lt;br/&gt;
Failures: 1 fails.&lt;br/&gt;
Number of new Failures: 0 &lt;br/&gt;
Number of fixed Failures: 0 &lt;/p&gt;</comment>
                    <comment id="10486" author="jwage" created="Wed, 4 Nov 2009 14:23:51 +0000"  >&lt;p&gt;Did you update Doctrine? I fixed something in Doctrine 1.2 that fixes it.&lt;/p&gt;</comment>
                    <comment id="10487" author="admirau" created="Wed, 4 Nov 2009 15:07:57 +0000"  >&lt;p&gt;Yes, the results above  (&quot;total_num&quot;) I get after updating to 1.2.0-BETA1.&lt;br/&gt;
At 1.2.0-ALPHA2 it was &quot;no such column: a__2&quot; (see above comments).&lt;/p&gt;

&lt;p&gt;Do the extensions work with 2.0, or they are 1.2 specific?&lt;/p&gt;</comment>
                    <comment id="10488" author="jwage" created="Wed, 4 Nov 2009 15:10:55 +0000"  >&lt;p&gt;1.2 specific. I don&apos;t get any fails now, can you try and troubleshoot it and figure out why it fails for you? They don&apos;t fail for me anywhere.&lt;/p&gt;</comment>
                    <comment id="10492" author="admirau" created="Wed, 4 Nov 2009 18:45:41 +0000"  >&lt;p&gt;Doctrine_Template_Taggable_TestCase::testGetPopularTags()&lt;br/&gt;
line 214:&lt;br/&gt;
$test = Doctrine::getTable(&apos;TaggableTag&apos;)-&amp;gt;getPopularTags(array(&apos;ArticleTaggableTest&apos;, &apos;ArticleTaggableTest2&apos;));&lt;/p&gt;

&lt;p&gt;// compare this with your results&lt;br/&gt;
echo serialize($test);&lt;br/&gt;
result:&lt;br/&gt;
C:19:&quot;Doctrine_Collection&quot;:169:{a:7:{s:4:&quot;data&quot;;a:0:{}s:6:&quot;_table&quot;;s:11:&quot;TaggableTag&quot;;s:9:&quot;_snapshot&quot;;a:0:{}s:14:&quot;referenceField&quot;;N;s:9:&quot;keyColumn&quot;;s:4:&quot;name&quot;;s:8:&quot;_locator&quot;;N;s:10:&quot;_resources&quot;;a:0:{}}}&lt;/p&gt;

&lt;p&gt;When I try to var_dump($test),&lt;br/&gt;
I get circular dependency.&lt;br/&gt;
I tried to save results of var_dump($test) to disk, by I get 1,5GB file, and still growing...&lt;/p&gt;

&lt;p&gt;Maybe this article helps somehow:&lt;br/&gt;
&lt;a href=&quot;http://www.bigroom.co.uk/blog/php-nesting-level-too-deep-recursive-dependency&quot; class=&quot;external-link&quot;&gt;http://www.bigroom.co.uk/blog/php-nesting-level-too-deep-recursive-dependency&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can I see the fix you mentioned above?&lt;/p&gt;

&lt;p&gt;I&apos;m sorry, but I do not know what else I can do.&lt;br/&gt;
Any ideas?&lt;/p&gt;</comment>
                    <comment id="10568" author="jwage" created="Tue, 10 Nov 2009 17:30:55 +0000"  >&lt;p&gt;I am not sure what to say since it is working for me on all the machines I test. I&apos;ll be happy to look if I can get something to fail so I can troubleshoot it.&lt;/p&gt;</comment>
                    <comment id="10584" author="admirau" created="Wed, 11 Nov 2009 12:19:34 +0000"  >&lt;p&gt;I&apos;ve tested on PLD Linux too.&lt;br/&gt;
The same thing.&lt;/p&gt;

&lt;p&gt;Could you provide sample server/php configuration on which the tests are passing?&lt;/p&gt;

&lt;p&gt;Can you describe the fix you&apos;ve made to correct the errors with &apos;&apos;Unknown method Doctrine_Table::getPopularTags&apos;.&lt;br/&gt;
Maybe I can manage to investigate it, but I do not know where to start.&lt;/p&gt;</comment>
                    <comment id="10592" author="admirau" created="Wed, 11 Nov 2009 14:24:04 +0000"  >&lt;p&gt;Sorry for reopening this again.&lt;/p&gt;

&lt;p&gt;After upgrading to BETA2 all Taggable tests are passing OK for me too.&lt;/p&gt;

&lt;p&gt;However, in the code I still get &apos;Unknown method BlogPostTable::getPopularTags&apos; in /tools\sandbox\lib\Doctrine\Table.php:2793&apos;&lt;br/&gt;
Isn&apos;t it a regression of the bug you&apos;ve already fixed before ALPHA2?&lt;/p&gt;


&lt;p&gt;Here is the description of how I came to this exception.&lt;/p&gt;

&lt;p&gt;At the very end of config.php:&lt;/p&gt;

&lt;p&gt;$manager-&amp;gt;registerExtension(&apos;Taggable&apos;);&lt;/p&gt;

&lt;p&gt;In the index.php:&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;require_once(&apos;config.php&apos;);&lt;/p&gt;

&lt;p&gt;$models = Doctrine_Core::loadModels(&apos;models&apos;);&lt;/p&gt;

&lt;p&gt;$post = new BlogPost();&lt;br/&gt;
$post-&amp;gt;title = &apos;This is a sample blog post&apos;;&lt;br/&gt;
$post-&amp;gt;description = &apos;Cool!&apos;;&lt;br/&gt;
$post-&amp;gt;setTags(&apos;2009, symfony, doctrine&apos;);&lt;br/&gt;
$post-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;$table = Doctrine::getTable(&apos;BlogPost&apos;);&lt;br/&gt;
echo get_class($table);     // echoes Doctrine_Collection&lt;br/&gt;
$table-&amp;gt;getPopularTags();   // this throws the exception&lt;/p&gt;

&lt;p&gt;Then in the console:&lt;br/&gt;
php doctrine.php create-db&lt;br/&gt;
php doctrine.php generate-models-yaml (BaseBlogPost, BlogPost, BlogPostTable were generated)&lt;br/&gt;
php doctrine.php generate-sql (see SQL below)&lt;br/&gt;
php doctrine.php create-tables&lt;br/&gt;
(all ok)&lt;/p&gt;

&lt;p&gt;php index.php&lt;/p&gt;

&lt;p&gt;result:&lt;/p&gt;

&lt;p&gt;BlogPostTablePHP Fatal error:  Uncaught exception &apos;Doctrine_Table_Exception&apos; with message &apos;Unknown method BlogPostTable::getPopularTags&apos; in C:\Users\user\www\extens.dev\tools\sandbox\lib\Doctrine\Table.php:2793&lt;br/&gt;
Stack trace:&lt;br/&gt;
#0 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: Doctrine_Table-&amp;gt;__call(&apos;getPopularTags&apos;, Array)&lt;br/&gt;
#1 C:\Users\user\www\extens.dev\tools\sandbox\index.php(15): BlogPostTable-&amp;gt;getPopularTags()&lt;br/&gt;
#2 &lt;/p&gt;
{main}&lt;br/&gt;
  thrown in C:\Users\user\www\extens.dev\tools\sandbox\lib\Doctrine\Table.php on line 2793&lt;br/&gt;
Fatal error: Uncaught exception &apos;Doctrine_Table_Exception&apos; with message &apos;Unknown method BlogPostTable::getPopularTags&apos; in C:\Users\user\www\extens.dev\tools\sandbox\lib\Doctrine\Table.php:2793&lt;br/&gt;
Stack trace:&lt;br/&gt;
#0 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: Doctrine_Table-&amp;gt;__call(&apos;getPopularTags&apos;, Array)&lt;br/&gt;
#1 C:\Users\user\www\extens.dev\tools\sandbox\index.php(15): BlogPostTable-&amp;gt;getPopularTags()&lt;br/&gt;
#2 {main}
&lt;p&gt;  thrown in C:\Users\user\www\extens.dev\tools\sandbox\lib\Doctrine\Table.php on line 2793&lt;/p&gt;

&lt;p&gt;And here is the generated SQL:&lt;/p&gt;

&lt;p&gt;CREATE TABLE taggable_tag (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) UNIQUE);&lt;br/&gt;
CREATE TABLE blog_post_taggable_tag (id INTEGER, tag_id INTEGER, PRIMARY KEY(id, tag_id));&lt;br/&gt;
CREATE TABLE blog_post (id INTEGER PRIMARY KEY AUTOINCREMENT, title VARCHAR(255) NOT NULL, description VARCHAR(255) NOT NULL);&lt;/p&gt;</comment>
                    <comment id="10616" author="jwage" created="Thu, 12 Nov 2009 20:50:21 +0000"  >&lt;p&gt;When I test your code, it is working for me. You sure you don&apos;t have some old versions of PHP or something?&lt;/p&gt;</comment>
                    <comment id="10619" author="admirau" created="Thu, 12 Nov 2009 21:33:08 +0000"  >&lt;p&gt;Everything is up to date.&lt;br/&gt;
Tested on different servers, with different operating systems, different versions PHP, different versions of Doctrine, by different people.&lt;/p&gt;

&lt;p&gt;Common thing for all these machines is that PHP (&amp;gt;5.2.10 &amp;lt;= 5.3.1) was installed from precompiled builds, not from source.&lt;/p&gt;

&lt;p&gt;The error I get now is the same error I got earlier (at the beginning of this topic), which disapperared after your fix.&lt;br/&gt;
Then appeared the second error, which was fixed in BETA2, but the previous error is back. (strange, but the tests are passing now, despite the errors in the regular code).&lt;/p&gt;

&lt;p&gt;When I find some spare time I&apos;ll try to trace the changes you&apos;ve made since the beginning of the topic.&lt;/p&gt;</comment>
                    <comment id="10733" author="admirau" created="Wed, 18 Nov 2009 14:12:11 +0000"  >&lt;p&gt;Maybe the models are generated not properly.&lt;br/&gt;
Here are my models (three) for the reproduction procedure (above):&lt;/p&gt;

&lt;p&gt;class BlogPostTable extends Doctrine_Table {}&lt;/p&gt;

&lt;p&gt;class BlogPost extends BaseBlogPost {}&lt;/p&gt;

&lt;p&gt;abstract class BaseBlogPost extends Doctrine_Record&lt;br/&gt;
{&lt;br/&gt;
    public function setTableDefinition()&lt;/p&gt;
    {
        $this-&amp;gt;setTableName(&apos;blog_post&apos;);
        $this-&amp;gt;hasColumn(&apos;title&apos;, &apos;string&apos;, 255, array(
        											   &apos;type&apos; =&amp;gt; &apos;string&apos;,
        											   &apos;notnull&apos; =&amp;gt; true,
        											   &apos;length&apos; =&amp;gt; &apos;255&apos;,
        											   ));
        $this-&amp;gt;hasColumn(&apos;description&apos;, &apos;string&apos;, 255, array(
        													 &apos;type&apos; =&amp;gt; &apos;string&apos;,
        													 &apos;notnull&apos; =&amp;gt; true,
        													 &apos;length&apos; =&amp;gt; &apos;255&apos;,
        													 ));
    }

&lt;p&gt;    public function setUp()&lt;/p&gt;
    {
        parent::setUp();
        $taggable0 = new Doctrine_Template_Taggable();
        $this-&amp;gt;actAs($taggable0);
    }
&lt;p&gt;}&lt;/p&gt;</comment>
                    <comment id="10758" author="jwage" created="Wed, 18 Nov 2009 22:11:51 +0000"  >&lt;p&gt;I have everything generated the same as you.&lt;/p&gt;</comment>
                    <comment id="10811" author="balupton" created="Sat, 21 Nov 2009 12:12:04 +0000"  >&lt;p&gt;Also getting this. Using doctrine 1.2.0-beta3 and also tried with latest SVN. Taggable is latest available.&lt;/p&gt;

&lt;p&gt;PHP 5.3.0 running on Zend Server version 5.0.0Beta2&lt;/p&gt;</comment>
                    <comment id="10832" author="admirau" created="Tue, 24 Nov 2009 07:59:51 +0000"  >&lt;p&gt;No changes after upgrade to 1.2.0-RC1.&lt;/p&gt;</comment>
                    <comment id="10848" author="admirau" created="Tue, 24 Nov 2009 20:30:36 +0000"  >&lt;p&gt;Maybe this helps somehow:&lt;/p&gt;

&lt;p&gt;// Following line throws:&lt;br/&gt;
// Doctrine_Table_Exception: Unknown method Doctrine_Table::getPopularTags in /home/user/doctrine12rc1/lib/Doctrine/Table.php on line 2799&lt;br/&gt;
$tags = Doctrine::getTable(&apos;BlogPost&apos;)-&amp;gt;getPopularTags();&lt;/p&gt;


&lt;p&gt;// This line returns collection of tags, as expected&lt;br/&gt;
$tags = Doctrine::getTable(&apos;TaggableTag&apos;)-&amp;gt;getPopularTags(&apos;BlogPost&apos;);&lt;/p&gt;


&lt;p&gt;$rel = Doctrine::getTable(&apos;BlogPost&apos;)-&amp;gt;getRelations();          // is int(2)&lt;br/&gt;
$rel = Doctrine::getTable(&apos;TagableTag&apos;)-&amp;gt;getRelations();     // is int(2)&lt;/p&gt;


</comment>
                    <comment id="11202" author="wormling" created="Wed, 16 Dec 2009 16:46:38 +0000"  >&lt;p&gt;Symfony 1.3 SVN updated as of this post.&lt;/p&gt;

&lt;p&gt;Ubuntu Karmic with PHP 5.3.1&lt;/p&gt;

&lt;p&gt;I have installed Taggable in mysymfonyproject/lib/doctrine_extensions/Taggable&lt;/p&gt;

&lt;p&gt;I have two example tables defined with Taggable:&lt;/p&gt;

&lt;p&gt;Video:&lt;br/&gt;
  actAs: &lt;/p&gt;
{ Taggable: ~, Timestampable: ~ }
&lt;p&gt;  columns:&lt;br/&gt;
    id: &lt;/p&gt;
{ type: integer, primary: true, autoincrement: true }
&lt;p&gt;    content_id: &lt;/p&gt;
{ type: integer, notnull: true }
&lt;p&gt;    title: &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    description: &lt;/p&gt;
{ type: clob }
&lt;p&gt;  relations:&lt;br/&gt;
    Content: &lt;/p&gt;
{ local: content_id, foreign: id }

&lt;p&gt;Photo:&lt;br/&gt;
  actAs: &lt;/p&gt;
{ Taggable: ~, Timestampable: ~ }
&lt;p&gt;  columns:&lt;br/&gt;
    id: &lt;/p&gt;
{ type: integer, primary: true, autoincrement: true }
&lt;p&gt;    content_id: &lt;/p&gt;
{ type: integer, notnull: true }
&lt;p&gt;    title: &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;    description: &lt;/p&gt;
{ type: clob }
&lt;p&gt;    uri: &lt;/p&gt;
{ type: string(255) }
&lt;p&gt;  relations:&lt;br/&gt;
    Content: &lt;/p&gt;
{ local: content_id, foreign: id }

&lt;p&gt;The following code functions and populates the database:&lt;br/&gt;
$video = new Video();&lt;br/&gt;
...&lt;br/&gt;
$video-&amp;gt;setTags(implode(&quot;, &quot;, $tags));&lt;br/&gt;
$video-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;The following code errors:&lt;br/&gt;
$tags = Doctrine::getTable(&apos;Video&apos;)-&amp;gt;getPopularTags();&lt;/p&gt;

&lt;p&gt;500 | Internal Server Error | Doctrine_Table_Exception&lt;br/&gt;
Unknown method VideoTable::getPopularTags&lt;/p&gt;

&lt;p&gt;The following code errors:&lt;br/&gt;
$tags = Doctrine::getTable(&apos;TaggableTag&apos;)-&amp;gt;getPopularTags(&apos;Video&apos;);&lt;/p&gt;

&lt;p&gt;500 | Internal Server Error | Doctrine_Exception&lt;br/&gt;
Couldn&apos;t find class TagableTag&lt;/p&gt;</comment>
                    <comment id="11434" author="sorin" created="Wed, 20 Jan 2010 13:36:07 +0000"  >&lt;p&gt;Dont know if its related to this issue or not, but for some reason Doctrine::getTable(&apos;TaggableTag&apos;) throws a &quot;&lt;/p&gt;
{Doctrine_Exception}
&lt;p&gt; Couldn&apos;t find class TaggableTag&quot; exception&lt;/p&gt;

&lt;p&gt;I understand that you would normally do this:&lt;br/&gt;
Doctrine::getTable(&apos;Video&apos;)-&amp;gt;getTags() &lt;br/&gt;
but I just want plain access to the TaggableTag model and Doctrine doesnt seem to generate any model classess for TaggableTag &lt;/p&gt;</comment>
                    <comment id="11900" author="jwage" created="Mon, 1 Mar 2010 16:18:10 +0000"  >&lt;p&gt;I have tested everything everyone has provided and it is all working for me. The only thing I can suggest now is that someone creates a Doctrine failing test case so that I can run it to see the failure.&lt;/p&gt;</comment>
                    <comment id="11938" author="balupton" created="Mon, 1 Mar 2010 20:23:35 +0000"  >&lt;p&gt;Will create a test case this weekend for this and a few other problems I&apos;ve across (with fixes). Nothing more frustrating than not being able to reproduce a problem, so I feel your pain.&lt;/p&gt;</comment>
                    <comment id="11984" author="ivarne" created="Tue, 2 Mar 2010 14:04:20 +0000"  >&lt;p&gt;I think this bug i related to the bug in the documentation &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-378&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-378&lt;/a&gt; to get the popular tags you will first have to load the models you want the tags for.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-comment&quot;&gt;// load models that you want the tags from
&lt;/span&gt;Doctrine::getTable(&apos;blog&apos;);
Doctrine::getTable(&apos;products&apos;);
&lt;span class=&quot;code-comment&quot;&gt;// then you can get the tags &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the models currently loaded
&lt;/span&gt;$tags = Doctrine::getTable(&apos;TaggableTag&apos;)-&amp;gt;getPopularTags();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="12047" author="wormling" created="Sun, 7 Mar 2010 00:41:57 +0000"  >&lt;p&gt;This works for me:&lt;/p&gt;

&lt;p&gt;// load models that you want the tags from&lt;br/&gt;
Doctrine::getTable(&apos;blog&apos;);&lt;br/&gt;
Doctrine::getTable(&apos;products&apos;);&lt;br/&gt;
// then you can get the tags for the models currently loaded&lt;br/&gt;
$tags = Doctrine::getTable(&apos;TaggableTag&apos;)-&amp;gt;getPopularTags();&lt;/p&gt;</comment>
                    <comment id="12541" author="balupton" created="Thu, 1 Apr 2010 07:00:29 +0000"  >&lt;p&gt;Okie... Creating test cases for this turned out to be more complicated than I can handle - myself not being that familiar with phpunit.&lt;br/&gt;
Although within the test it is written as:&lt;br/&gt;
$test = Doctrine::getTable(&apos;TaggableTag&apos;)-&amp;gt;getPopularTags(array(&apos;ArticleTaggableTest&apos;, &apos;ArticleTaggableTest2&apos;));&lt;br/&gt;
Rather than:&lt;br/&gt;
$test = Doctrine::getTable(&apos;ArticleTaggableTest&apos;)-&amp;gt;getPopularTags();&lt;br/&gt;
which is what this problem is about.&lt;/p&gt;


&lt;p&gt;Although I do believe I&apos;ve nailed the source of the problem - as well as others I&apos;ve experienced.&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Problems are introduced when using pear style model names. Indirectly fixed with: &lt;a href=&quot;http://pastebin.com/DKGcgAht&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/DKGcgAht&lt;/a&gt; - links to fix in Doctrine/Record/Generator.php&lt;/li&gt;
	&lt;li&gt;Problems are introduced when using custom names for the taggable field. Such as: &lt;a href=&quot;http://pastebin.com/JdhqeG38&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/JdhqeG38&lt;/a&gt; - example&lt;/li&gt;
	&lt;li&gt;Problems are introduced when using inheritance for models.  Such as: &lt;a href=&quot;http://pastebin.com/Qwuwk0z1&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/Qwuwk0z1&lt;/a&gt; - example&lt;/li&gt;
	&lt;li&gt;Problems are introduced when using taggable relations when the record has not been inserted yet. Such as: &lt;a href=&quot;http://pastebin.com/ahPpqTdK&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/ahPpqTdK&lt;/a&gt; - example&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Having either of the above causes the system to fall down. I&apos;ve applied a bunch of fixes/changes to taggable to ensure it works with my systems, such as &lt;a href=&quot;http://sos.7dots.co.uk/&quot; class=&quot;external-link&quot;&gt;http://sos.7dots.co.uk/&lt;/a&gt; (still in staging) which uses all of the above mentioned problems, not sure how to do a diff but here is the file:&lt;br/&gt;
&lt;a href=&quot;http://www.2shared.com/file/12385197/c5911e42/Taggable.html&quot; class=&quot;external-link&quot;&gt;http://www.2shared.com/file/12385197/c5911e42/Taggable.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope that helps some people. Any changes I&apos;ve made code can come under the same licence as doctrine, so no worries there.&lt;/p&gt;</comment>
                    <comment id="12672" author="admirau" created="Thu, 15 Apr 2010 11:12:28 +0000"  >&lt;p&gt;With 1.2.2 there is some progress.&lt;br/&gt;
There was still 1 test failing (CASCADE),&lt;br/&gt;
but with the version:&lt;br/&gt;
&lt;a href=&quot;http://www.2shared.com/file/12385197/c5911e42/Taggable.html&quot; class=&quot;external-link&quot;&gt;http://www.2shared.com/file/12385197/c5911e42/Taggable.html&lt;/a&gt;&lt;br/&gt;
provided by Benjamin Arthur Lupton &lt;br/&gt;
all test are passing now.&lt;/p&gt;

&lt;p&gt;But now when I run:&lt;br/&gt;
getTable(&apos;ArticleTaggableTest&apos;)-&amp;gt;getPopularTags();&lt;br/&gt;
I get: ERROR: column &quot;i2__1&quot; does not exist&lt;/p&gt;


&lt;p&gt;The failing query on PostgreSql is:&lt;/p&gt;

&lt;p&gt;SELECT t.id AS t_&lt;em&gt;id, t.name AS t&lt;/em&gt;&lt;em&gt;name, COUNT(DISTINCT i.id) AS i&lt;/em&gt;_0,&lt;br/&gt;
                                                          (COUNT(DISTINCT i.id)) AS i__1&lt;br/&gt;
FROM taggable_tag t&lt;br/&gt;
LEFT JOIN cms_&lt;em&gt;model&lt;/em&gt;_image_taggable_tag c ON (t.id = c.tag_id)&lt;br/&gt;
LEFT JOIN image i ON i.id = c.id&lt;br/&gt;
WHERE t.id IN&lt;br/&gt;
    (SELECT doctrine_subquery_alias.id&lt;br/&gt;
     FROM&lt;br/&gt;
       (SELECT DISTINCT t2.id, (COUNT(DISTINCT i2.id)) AS i2__1&lt;br/&gt;
        FROM taggable_tag t2&lt;br/&gt;
        LEFT JOIN cms_&lt;em&gt;model&lt;/em&gt;_image_taggable_tag c2 ON (t2.id = c2.tag_id)&lt;br/&gt;
        LEFT JOIN image i2 ON i2.id = c2.id&lt;br/&gt;
        GROUP BY t2.id HAVING i2__1 &amp;gt; 0&lt;br/&gt;
        ORDER BY i2__1 DESC LIMIT 10) AS doctrine_subquery_alias)&lt;br/&gt;
GROUP BY t.id HAVING i__1 &amp;gt; 0&lt;br/&gt;
ORDER BY i__1 DESC&lt;/p&gt;


&lt;p&gt;Seems that this just a PostgreSql issue.&lt;br/&gt;
On Mysql it runs just fine.&lt;/p&gt;</comment>
                    <comment id="12680" author="ivarne" created="Thu, 15 Apr 2010 14:28:58 +0000"  >&lt;p&gt;The last comment is concerning how the poular tags are found and rated (on PostgreSql). I think this is unrelated to the rest of this issue and should be moved to a separate issue. (also I only got junk ads when I tried to get the file you are linking to).&lt;/p&gt;</comment>
                    <comment id="12681" author="admirau" created="Thu, 15 Apr 2010 14:40:28 +0000"  >&lt;p&gt;I have created separated issue for this:&lt;br/&gt;
&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-634&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-634&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And yes, this link is quite odd...&lt;br/&gt;
There is a lot of crap,&lt;br/&gt;
however there is a small link, to download improved code:&lt;/p&gt;

&lt;p&gt;Look for: &quot;Save file to your PC: click here&quot;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-689] Columns of type &apos;array&apos; adds default clause to the create table statement which isn&apos;t supported by MySQL.</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-689</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The column type &apos;array&apos; creates a column of the type &apos;LONGTEXT&apos; but also adds the default value to the column declaration which makes the creation of the table fail.&lt;/p&gt;

&lt;p&gt;MySQL does not support default values for TEXT, BLOB or LONGTEXT. I don&apos;t know when this behavior was added to MySQL or if it always has been like that. MySQL 5.0.51 will accept it without any SQL mode set, 5.0.83 won&apos;t.&lt;/p&gt;</description>
                <environment>MySQL version 5.0.83, Doctrine 1.2.2, Revision: 7490</environment>
            <key id="11383">DC-689</key>
            <summary>Columns of type &apos;array&apos; adds default clause to the create table statement which isn&apos;t supported by MySQL.</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="daniel">Daniel Holmstrom</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 May 2010 09:31:17 +0000</created>
                <updated>Fri, 11 Jun 2010 08:31:26 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13163" author="jwage" created="Tue, 8 Jun 2010 11:06:26 +0000"  >&lt;p&gt;Could you provide a test and patch?&lt;/p&gt;</comment>
                    <comment id="13270" author="daniel" created="Fri, 11 Jun 2010 08:29:41 +0000"  >&lt;p&gt;(Un)fortunately I&apos;ll be computer-free for a month now, so I have no time to write test or do a proper patch. I&apos;ll attach the patch I use for reference.&lt;/p&gt;

&lt;p&gt;Since the default clause depends on the native type which isn&apos;t known when the default clause is constructed (in getDefaultFieldDeclaration) I&apos;ve simply added a check that sets the default clause to an empty string if the native type is one of those which isn&apos;t allowed to have a default value. I&apos;m not sure, however, what the line in Doctrine/Export/Mysql.php::276:&lt;/p&gt;

{return $this-&amp;gt;conn-&amp;gt;dataDict-&amp;gt;$method($name, $field);}

&lt;p&gt; does and if that is affected by this also.&lt;/p&gt;

&lt;p&gt;I guess you want the list of native types not allowed to have default values somewhere else, but I don&apos;t have the required knowledge about the internals of Doctrine to do this.&lt;/p&gt;</comment>
                    <comment id="13271" author="daniel" created="Fri, 11 Jun 2010 08:31:26 +0000"  >&lt;p&gt;Attached patch giving example of how to fix &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-689&quot; title=&quot;Columns of type &amp;#39;array&amp;#39; adds default clause to the create table statement which isn&amp;#39;t supported by MySQL.&quot;&gt;DC-689&lt;/a&gt;.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10639" name="DC-689_example_patch.patch.gz" size="477" author="daniel" created="Fri, 11 Jun 2010 08:31:26 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-684] After adding a Reference, the ForeignKeys in the DB are not updatet</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-684</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;After query a record from the DB, where a foreign key is null, and changing only the reference belonging to this foreign key, and only these reference no other value of the record, a save of the record doesn&apos;t lead to a change in the foreign key field.&lt;/p&gt;

&lt;p&gt;For example: I&apos;ll save a user record with some data of a regestration and give him the possibillity to add a city where he cames from later in his account settings, if no other user attribute is changed, the state of the user record is still CLEAN. The result is that I can access the user-&amp;gt;City property correctly only as long as no refresh from the db is done. So the changing of the foreign key belonging to the city isn&apos;t persistent in the DB.&lt;/p&gt;

&lt;p&gt;Example Code:&lt;br/&gt;
		$user = new Model_User();&lt;br/&gt;
		$user-&amp;gt;firstName = md5(rand());&lt;br/&gt;
		$user-&amp;gt;save();&lt;/p&gt;

&lt;p&gt;		$id = $user-&amp;gt;id;&lt;br/&gt;
		unset($user);&lt;br/&gt;
		assert(! $user);&lt;/p&gt;

&lt;p&gt;		$user = Model_UserTable::getInstance()-&amp;gt;find($id);&lt;br/&gt;
		assert(!$user-&amp;gt;relatedExists(&apos;City&apos;));		&lt;/p&gt;

&lt;p&gt;		$user-&amp;gt;City-&amp;gt;name = &apos;Mainz&apos;;&lt;br/&gt;
		$user-&amp;gt;save();&lt;br/&gt;
		unset($user);&lt;/p&gt;

&lt;p&gt;		$user = Model_UserTable::getInstance()-&amp;gt;find($id);&lt;br/&gt;
		$user-&amp;gt;refresh(true);&lt;br/&gt;
		assert($user-&amp;gt;City-&amp;gt;name == &apos;Mainz&apos;);	&lt;/p&gt;

&lt;p&gt;The last assert failse. I realized the problem while updating just a referenz using the fromArray() method like $user-&amp;gt;City-&amp;gt;fromArray(). The city would be saved correctly in DB but the foreign key in the user table would not be updated. After debugging I recognized that the $user is not replaced in UnitOfWork::saveGraph() because the $user is still in CLEAN state.&lt;/p&gt;

&lt;p&gt;Using &quot; $user-&amp;gt;coreSetRelated(&apos;Country&apos;, $user-&amp;gt;Country);&quot; or &quot;$user-&amp;gt;state(Doctrine_Record::STATE_DIRTY);&quot; after &quot;$user-&amp;gt;City-&amp;gt;name = &apos;Mainz&apos;&quot; would fix the prob in this case. As well as creating a new City instance an set $user-&amp;gt;City with this instance like:&lt;/p&gt;

&lt;p&gt;                $city = new Model_City();&lt;br/&gt;
                $city-&amp;gt;name = &apos;Mainz&apos;;&lt;br/&gt;
                $user-&amp;gt;City = $city;&lt;/p&gt;

&lt;p&gt;Also $user-&amp;gt;isModified(true) is true. So I fixed the issues in my case by changing the state of my records to DIRTY if the &quot;$this-&amp;gt;state() == CLEAN &amp;amp;&amp;amp; $user-&amp;gt;isModified(true) == true&quot; in the preSave() method of an abstract class that my Base classes are extending....&lt;/p&gt;</description>
                <environment>Ubuntu 9.04, PHP 5.2.6, MySQL 5.1, Zend Framework</environment>
            <key id="11363">DC-684</key>
            <summary>After adding a Reference, the ForeignKeys in the DB are not updatet</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="lk2.0">Lars Kosubek</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 May 2010 15:02:09 +0000</created>
                <updated>Tue, 26 Oct 2010 08:13:33 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Record</component>
                <component>Relations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14380" author="mars105" created="Wed, 15 Sep 2010 09:12:04 +0000"  >&lt;p&gt;Spend the last hour trying to get a workaround on this one.&lt;/p&gt;

&lt;p&gt;It apear to me that the solution is not easy. The object is modified while in STATE_LOCKED state, meaning that any state change in Record::_set() is not passed back to UnitOfWork::saveGraph() and therfor not saved in the database.&lt;/p&gt;

&lt;p&gt;Finaly I&apos;ve managed to make a realy dirty fix, I&apos;ll attach it if it come handy to somebody.&lt;br/&gt;
Keep in mind this is only a workaround and has NOT been tested. Use at your own risk...&lt;/p&gt;</comment>
                    <comment id="14381" author="mars105" created="Wed, 15 Sep 2010 09:13:00 +0000"  >&lt;p&gt;Dirty fix, see comments.&lt;br/&gt;
! NOT tested thoroughly !&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10797" name="DC_684_dirty_fix.patch" size="1490" author="mars105" created="Wed, 15 Sep 2010 09:13:00 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-676] Validation exception thrown only if internal nesting level == 1</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-676</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I wonder why Validation exception is thrown only if internal nesting level of transaction is 1 and the manual nesting level is not considered. &lt;/p&gt;

&lt;p&gt;Line 262 - lib/Doctrine/Transaction.php: &lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;if ($this-&amp;gt;_internalNestingLevel == 1) {
    $tmp = $this-&amp;gt;invalid;
    $this-&amp;gt;invalid = array();
    throw new Doctrine_Validator_Exception($tmp);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I have a large database with a lot of tables and relationships. At some case the validation exception is not thrown if the validation fails. &lt;/p&gt;

&lt;p&gt;If I add $this-&amp;gt;_nestingLevel into this condition: &lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;if ($this-&amp;gt;_internalNestingLevel == 1 || $this-&amp;gt;_nestingLevel == 1) {
    $tmp = $this-&amp;gt;invalid;
    $this-&amp;gt;invalid = array();
    throw new Doctrine_Validator_Exception($tmp);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then the validation exception is thrown as excepted. &lt;/p&gt;

&lt;p&gt;I don&apos;t know why you ignore here the nesting level. &lt;/p&gt;

&lt;p&gt;It would be great if you could explain me more about these lines. &lt;/p&gt;

&lt;p&gt;I ran the unit test with this modification and got the same result. &lt;/p&gt;</description>
                <environment>PHP 5.3.1, Mac OS X 10.6</environment>
            <key id="11344">DC-676</key>
            <summary>Validation exception thrown only if internal nesting level == 1</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dreamcocoa">Fabian Spillner</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 May 2010 17:27:22 +0000</created>
                <updated>Tue, 8 Jun 2010 16:20:02 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Validators</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12907" author="dreamcocoa" created="Mon, 10 May 2010 18:24:17 +0000"  >&lt;p&gt;Additional information: On doctrine 1.1.x the exception is thrown without this modification. &lt;/p&gt;</comment>
                    <comment id="12908" author="dreamcocoa" created="Tue, 11 May 2010 02:50:16 +0000"  >&lt;p&gt;It seems, the problem is the counter of internal nesting level. I output these member variables: &lt;/p&gt;

&lt;p&gt;Doctrine 1.1.2&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;Doctrine_Transaction::commit invalid is not empty - internal nesting level: 1 nesting level: 2

ok 1 - Article cannot be created if empty: Doctrine_Validator_Exception: Validation failed in class Article

  1 field had validation error:

    * 1 validator failed on slug_title (notnull)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;Doctrine 1.2.2&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;Doctrine_Transaction::commit invalid is not empty - internal nesting level: 0 nesting level: 1

not ok 1 - Empty Artcile could be created!
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="12913" author="dreamcocoa" created="Tue, 11 May 2010 08:30:25 +0000"  >&lt;p&gt;Yeah! I found the reason: &lt;/p&gt;

&lt;p&gt;I attached a template (listener) into my model which validates the body and this method call: &lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;// ...
if ($obj-&amp;gt;getAuthor()-&amp;gt;getAge())  # this creates new empty Author object
{
  // ...
}
// ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;On Doctrine 1.1, the method saveGraph() of class UnitOfWork executes first saveRelatedLocalKeys and then the hooks methods (preSave, etc.) and my code works!&lt;/p&gt;

&lt;p&gt;On Doctrine 1.2, the method saveGraph() call *&lt;b&gt;first&lt;/b&gt;* the hooks method and then the saveRelatedLocalKeys which save the empty author object and then destroy the internal nesting level &lt;br/&gt;
and the validation exception is not thrown. &lt;/p&gt;

&lt;p&gt;Workaround for my listener: &lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;// ...
if ($obj-&amp;gt;relatedExists(&quot;Author&quot;) &amp;amp;&amp;amp; $obj-&amp;gt;getAuthor()-&amp;gt;getAge())  # relatedExists() needed to avoid create empty Author object
{
  // ...
}
// ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;What do you think: It&apos;s a bug or a feature?&lt;/p&gt;</comment>
                    <comment id="12914" author="dreamcocoa" created="Tue, 11 May 2010 09:16:25 +0000"  >&lt;p&gt;A test case attached to reproduce the bug. &lt;/p&gt;

&lt;p&gt;The test passes if you remove the custom save() method of Ticket_DC676_Author class.&lt;/p&gt;

&lt;p&gt;The problem: default &quot;foobar&quot; modifies the Author and is modified. Doctrine tries to save it, &lt;br/&gt;
but because there is more than two transactions, the validation exception is not thrown for Article object. &lt;/p&gt;</comment>
                    <comment id="12915" author="jwage" created="Tue, 11 May 2010 11:42:43 +0000"  >&lt;p&gt;Something that really helps with determining what we should do is to find the exact changeset that causes the behavior. If we can look at what code was changed, we can then understand better what to do.&lt;/p&gt;</comment>
                    <comment id="13024" author="dreamcocoa" created="Thu, 20 May 2010 10:10:24 +0000"  >&lt;p&gt;This changeset affects the problem: &lt;br/&gt;
&lt;a href=&quot;http://trac.doctrine-project.org/changeset/6126/branches/1.2/lib/Doctrine/Connection/UnitOfWork.php&quot; class=&quot;external-link&quot;&gt;http://trac.doctrine-project.org/changeset/6126/branches/1.2/lib/Doctrine/Connection/UnitOfWork.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But I really don&apos;t like this logic how the validation exception is handled. I would seperate these things: &lt;/p&gt;

&lt;p&gt;The method validate() should throw exception, and the method commit() should commit only if model is valid and nothing more. &lt;/p&gt;

&lt;p&gt;1. go recursive into the model and call the validate() method&lt;/p&gt;

&lt;p&gt;2. if not valid, exception is thrown&lt;/p&gt;

&lt;p&gt;3. elseif ok, commit is called&lt;/p&gt;

&lt;p&gt;PS. Sorry for late answer: I had a lot of work ... &lt;/p&gt;</comment>
                    <comment id="13026" author="jwage" created="Thu, 20 May 2010 10:28:56 +0000"  >&lt;p&gt;Do you see something with that commit that could be changed that fixes your issue?&lt;/p&gt;</comment>
                    <comment id="13167" author="jwage" created="Tue, 8 Jun 2010 11:45:59 +0000"  >&lt;p&gt;Whoops. This change is causing some problems. It causes lots of tests to fail in our test suite. Reverting for now. Can you try your change against our test suite and see if you can determine anything? Thanks, Jon&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10600" name="DC676TestCase.php" size="3698" author="dreamcocoa" created="Tue, 11 May 2010 09:16:25 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-667] migration fails for long foreign key names</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-667</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When having a model with short name and i18n field which is versioned, everthing is right. There are no problems when doing diff and migration again and again. Nothing will happen because nothing changed.&lt;br/&gt;
For example: &lt;br/&gt;
mytest:&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields:         [ description_front ]  &lt;br/&gt;
      actAs:  &lt;br/&gt;
        Timestampable:  &lt;br/&gt;
        Versionable:           &lt;br/&gt;
  columns:&lt;br/&gt;
    title: &lt;/p&gt;
{type: string(255)}
&lt;p&gt;    description_front: &lt;/p&gt;
{type: string(255)}

&lt;p&gt;But when using a longer model name like &apos;mytestmytestmytest&apos; then some strange errors occurred in my simple example. After creating the &apos;translation&apos; and &apos;transalation_version&apos; table in &apos;1273139712_version2.php&apos; and creating the foreign keys in &apos;1273139713_version3.php&apos; there shouldn&apos;d be a &apos;1273146011_version4.php&apos; generated by doing a diff, because everthing was already done. And of course when doing a migration with this last version, you will get errors. &lt;/p&gt;</description>
                <environment>CentOS release 5.4 (Final)&lt;br/&gt;
&lt;br/&gt;
Linux xxx 2.6.18-164.10.1.el5 #1 SMP Thu Jan 7 20:00:41 EST 2010 i686 athlon i386 GNU/Linux&lt;br/&gt;
&lt;br/&gt;
PHP 5.3.2 (cli) (built: Mar  4 2010 21:52:46)&lt;br/&gt;
Copyright (c) 1997-2010 The PHP Group&lt;br/&gt;
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies&lt;br/&gt;
&lt;br/&gt;
MySQL Server version: 5.1.42-log MySQL Community Server (GPL)&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</environment>
            <key id="11321">DC-667</key>
            <summary>migration fails for long foreign key names</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mweber">Michael Weber</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 May 2010 09:19:20 +0000</created>
                <updated>Thu, 6 May 2010 09:19:20 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10593" name="doctrine_test.zip" size="760651" author="mweber" created="Thu, 6 May 2010 09:19:20 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-668] Call to undefined method Doctrine_Adapter_Mysqli::setAttribute() </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-668</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;i&apos;m trying to switch to php5.3.1.&lt;br/&gt;
using the same connection as before, mysql://, i get &lt;/p&gt;

&lt;p&gt;Warning: PDO::__construct() &lt;span class=&quot;error&quot;&gt;&amp;#91;pdo.--construct&amp;#93;&lt;/span&gt;: OK packet 6 bytes shorter than expected in C:\wamp\bin\php\php5.2.9-2\PEAR\Doctrine\lib\Doctrine\Connection.php  on line 470&lt;/p&gt;

&lt;p&gt;after researching this error, i found out that it is related to the new password in mysql5.&lt;br/&gt;
i tried changing the password for the connection, and made sure there is no old_password set in my.ini, without any success.&lt;/p&gt;

&lt;p&gt;so i&apos;m trying to connect using mysqli adapter, and now i get this error:&lt;br/&gt;
PHP Fatal error:  Call to undefined method Doctrine_Adapter_Mysqli::setAttribute() in C:\wamp\bin\php\php5.2.9-2\PEAR\Doctrine\lib\Doctrine\Connection.php on line 496&lt;/p&gt;

&lt;p&gt;how can i connect to mysql5.1 with php5.3, and what is the best connection to pick. mysql or mysqli.&lt;/p&gt;</description>
                <environment>windows xp, apache2.2 web server, php5.3.1, doctrine1.2.2, zend framework 1.10.3, mysql 5.1</environment>
            <key id="11323">DC-668</key>
            <summary>Call to undefined method Doctrine_Adapter_Mysqli::setAttribute() </summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="nadim">nadim</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 May 2010 09:31:36 +0000</created>
                <updated>Tue, 8 Jun 2010 11:57:44 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13170" author="jwage" created="Tue, 8 Jun 2010 11:57:44 +0000"  >&lt;p&gt;What is Doctrine_Adapter_Mysqli? Is this your own class?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-666] Unable to create relations with several fields</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-666</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I have 2 tables.&lt;/p&gt;

&lt;p&gt;t1 :&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;id &lt;span class=&quot;error&quot;&gt;&amp;#91;Primary Key&amp;#93;&lt;/span&gt;&lt;br/&gt;
field1&lt;br/&gt;
field2&lt;br/&gt;
...&lt;br/&gt;
fieldn&lt;br/&gt;
t2_id &lt;span class=&quot;error&quot;&gt;&amp;#91;related to t2.id&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
primary key: id&lt;/p&gt;

&lt;p&gt;t2:&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
id &lt;span class=&quot;error&quot;&gt;&amp;#91;related to t1.t2_id&amp;#93;&lt;/span&gt;&lt;br/&gt;
fixed_set &lt;span class=&quot;error&quot;&gt;&amp;#91;predefined set of values (for example &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;)&amp;#93;&lt;/span&gt;&lt;br/&gt;
field1&lt;br/&gt;
field2&lt;br/&gt;
...&lt;br/&gt;
fieldn&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
primary key: id + fixed_set&lt;/p&gt;

&lt;p&gt;I need to use relation like follows:&lt;br/&gt;
SELECT * &lt;br/&gt;
FROM t1&lt;br/&gt;
LEFT JOIN t2 ON (t1.t2_id = t2.id AND t2.fixed_set = &quot;a&quot;)&lt;/p&gt;

&lt;p&gt;There is followed text in phpdoc from Relation.php:&lt;br/&gt;
&amp;#8212;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;local                   the local field(s)&lt;br/&gt;
     *&lt;/li&gt;
	&lt;li&gt;foreign                 the foreign reference field(s)&lt;br/&gt;
&amp;#8212;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;But it is unable to use several fields in &quot;local&quot; and &quot;foreign&quot;, only one &quot;local&quot; and &quot;foreign&quot; field.&lt;/p&gt;</description>
                <environment>Windows Server 2003 SP2&lt;br/&gt;
Apache 2.2.14&lt;br/&gt;
PHP 5.3.1&lt;br/&gt;
Doctrine 1.2.2</environment>
            <key id="11320">DC-666</key>
            <summary>Unable to create relations with several fields</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="pavel">Pavel</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 May 2010 11:03:01 +0000</created>
                <updated>Sat, 7 Aug 2010 15:38:53 +0000</updated>
                                    <version>1.2.0-ALPHA1</version>
                <version>1.2.0-ALPHA2</version>
                <version>1.2.0-ALPHA3</version>
                <version>1.2.0-BETA1</version>
                <version>1.2.0-BETA2</version>
                <version>1.2.0-BETA3</version>
                <version>1.2.0-RC1</version>
                <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-661] Subquery Doctrine Couldn&apos;t find class</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-661</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I&apos;m trying to create a query like this one :&lt;/p&gt;

&lt;p&gt;SELECT nombre, (select count( * ) from alojamiento a left join localidad l on a.localidad_id=l.id where p.id=l.provincia_id and a.activo=true) as total from provincia p &lt;/p&gt;

&lt;p&gt;$q = Doctrine_Query::create() &lt;br/&gt;
         -&amp;gt;select(&apos;p.nombre&apos;) &lt;br/&gt;
         -&amp;gt;addSelect(&apos;(select count( * ) from alojamiento a left join                   &lt;br/&gt;
                 localidad l on a.localidad_id=l.id where p.id=l.provincia_id and         &lt;br/&gt;
                 a.activo=true)&apos;) &lt;br/&gt;
         -&amp;gt;from(&apos;provincia p&apos;); &lt;/p&gt;

&lt;p&gt;but it fails : error 500, couldn&apos;t find class a.&lt;/p&gt;


&lt;p&gt;And :&lt;br/&gt;
$q = Doctrine_Query::create() -&amp;gt;select(&apos;nombre&apos;) -&amp;gt;addSelect(&apos;(select count( * ) from alojamiento left join localidad on&lt;br/&gt;
 alojamiento.localidad_id=localidad.id where&lt;br/&gt;
 provincia.id=localidad.provincia_id and alojamiento.activo=true)&apos;) -&amp;gt;from(&apos;provincia&apos;);&lt;/p&gt;

&lt;p&gt;leads to : SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42S22&amp;#93;&lt;/span&gt;: Column not found: 1054 Unknown column &apos;a.localidad_id&apos; in &apos;on clause&apos;.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11313">DC-661</key>
            <summary>Subquery Doctrine Couldn&apos;t find class</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="guinsel">Mauro E.</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 May 2010 04:28:31 +0000</created>
                <updated>Tue, 8 Jun 2010 14:09:05 +0000</updated>
                                    <version>1.2.2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13175" author="jwage" created="Tue, 8 Jun 2010 13:37:10 +0000"  >&lt;p&gt;You are using table names in your query and not model names.&lt;/p&gt;

&lt;p&gt;For future reference, the Jira is for reporting bugs/issues. You can ask user questions on the Doctrine mailing lists: &lt;a href=&quot;http://www.doctrine-project.org/community&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/community&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13182" author="guinsel" created="Tue, 8 Jun 2010 13:53:49 +0000"  >&lt;p&gt;My model names are: alojamiento, localidad and provincia I don&apos;t use table names.&lt;/p&gt;</comment>
                    <comment id="13183" author="jwage" created="Tue, 8 Jun 2010 13:56:28 +0000"  >&lt;p&gt;Can you provide a test case because I am not able to reproduce any problems. All of our subquery tests are passing currently and I can&apos;t seem to find any problems like you describe.&lt;/p&gt;</comment>
                    <comment id="13185" author="guinsel" created="Tue, 8 Jun 2010 14:05:36 +0000"  >&lt;p&gt;Hope it is not my stupid fault, I apologize if it&apos;s my fault.&lt;/p&gt;

&lt;p&gt;My schema.yml is:&lt;/p&gt;

&lt;p&gt;Alojamiento:&lt;br/&gt;
  actAs:&lt;br/&gt;
    Timestampable:&lt;br/&gt;
    Sluggable:&lt;br/&gt;
      unique: true&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;nombre&amp;#93;&lt;/span&gt;&lt;br/&gt;
      canUpdate: true&lt;br/&gt;
    SoftDelete:&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      unique: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    localidad_id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    nombre:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    activo:&lt;br/&gt;
      type: boolean&lt;br/&gt;
      notnull: true&lt;br/&gt;
      default: false&lt;br/&gt;
  relations:&lt;br/&gt;
    Localidad:&lt;br/&gt;
      foreignType: one&lt;/p&gt;

&lt;p&gt;Localidad:&lt;br/&gt;
  actAs:&lt;br/&gt;
    Sluggable:&lt;br/&gt;
      unique: true&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;nombre&amp;#93;&lt;/span&gt;&lt;br/&gt;
      canUpdate: true&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      unique: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    nombre:&lt;br/&gt;
      type: string(250)&lt;br/&gt;
      unique: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
    provincia_id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      notnull: true&lt;br/&gt;
  relations:&lt;br/&gt;
    Provincia:&lt;br/&gt;
      onDelete: CASCADE&lt;br/&gt;
      local: provincia_id&lt;br/&gt;
      foreign: id&lt;/p&gt;

&lt;p&gt;Provincia:&lt;br/&gt;
  actAs:&lt;br/&gt;
    Sluggable:&lt;br/&gt;
      unique: true&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;nombre&amp;#93;&lt;/span&gt;&lt;br/&gt;
      canUpdate: true&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary: true&lt;br/&gt;
      unique: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
    nombre:&lt;br/&gt;
      type: string(250)&lt;br/&gt;
      unique: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
  relations:&lt;br/&gt;
    Localidades:&lt;br/&gt;
      type: many&lt;br/&gt;
      class: Localidad&lt;br/&gt;
      local: id&lt;br/&gt;
      foreign: provincia_id&lt;br/&gt;
      orderBy: nombre&lt;/p&gt;</comment>
                    <comment id="13186" author="jwage" created="Tue, 8 Jun 2010 14:09:05 +0000"  >&lt;p&gt;You can read about how to create unit tests here &lt;a href=&quot;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/unit-testing/en#unit-testing&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/orm/1.2/docs/manual/unit-testing/en#unit-testing&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-655] When Export from Models to database is made some constraints may not be created</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-655</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When exporting my schema from yaml I noticed that some CONSTRAINT are not created, but all the models are. After analyzing the code I found that an issue is not related to YAML but is related to Doctrine_Table::getExportableFormat(). I have models creation option to create it in PEAR-like style.&lt;/p&gt;

&lt;p&gt;So, when you have a schema like this:&lt;/p&gt;

&lt;p&gt;----------------&lt;br/&gt;
Partner_Code:&lt;br/&gt;
  tableName: partner_code&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      primary: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
    code:&lt;br/&gt;
      type: string(64)&lt;br/&gt;
      unique: true&lt;br/&gt;
      notnull: true&lt;/p&gt;

&lt;p&gt;Partner_Channel:&lt;br/&gt;
  tableName: partner_channel&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      primary: true&lt;br/&gt;
      autoincrement: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(64)&lt;br/&gt;
      notnull: true&lt;br/&gt;
  relations:&lt;br/&gt;
    Codes:&lt;br/&gt;
      class: Partner_Code&lt;br/&gt;
      local: channel_id&lt;br/&gt;
      foreign: code_id&lt;br/&gt;
      refClass: Partner_Channel_Code&lt;br/&gt;
      foreignAlias: Partner_Channel&lt;br/&gt;
      foreignType: one&lt;br/&gt;
      type: many&lt;/p&gt;

&lt;p&gt;Partner_Channel_Code:&lt;br/&gt;
  tableName: partner_channel_x_code&lt;br/&gt;
  columns:&lt;br/&gt;
    channel_id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      primary: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
    code_id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      unsigned: true&lt;br/&gt;
      primary: true&lt;br/&gt;
      notnull: true&lt;br/&gt;
----------------&lt;/p&gt;

&lt;p&gt;it generates sql like this:&lt;/p&gt;

&lt;p&gt;----------------&lt;br/&gt;
CREATE TABLE partner_channel (id INT UNSIGNED AUTO_INCREMENT, name VARCHAR(64) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB;&lt;br/&gt;
CREATE TABLE partner_channel_x_code (channel_id INT UNSIGNED, code_id INT UNSIGNED, PRIMARY KEY(channel_id, code_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB;&lt;br/&gt;
CREATE TABLE partner_code (id INT UNSIGNED AUTO_INCREMENT, code VARCHAR(64) NOT NULL UNIQUE, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB;&lt;br/&gt;
ALTER TABLE partner_channel_x_code ADD CONSTRAINT partner_channel_x_code_channel_id_partner_channel_id FOREIGN KEY (channel_id) REFERENCES partner_channel(id);&lt;br/&gt;
----------------&lt;/p&gt;

&lt;p&gt;But should also generate:&lt;/p&gt;

&lt;p&gt;----------------&lt;br/&gt;
ALTER TABLE partner_channel_x_code ADD CONSTRAINT partner_channel_x_code_code_id_partner_code_id FOREIGN KEY (code_id) REFERENCES partner_code(id);&lt;br/&gt;
----------------&lt;/p&gt;

&lt;p&gt;But if I just change the schema with this changes (notice the Channel changed to Shannel):&lt;/p&gt;

&lt;p&gt;----------------&lt;br/&gt;
Partner_Channel:&lt;br/&gt;
  relations:&lt;br/&gt;
    Codes:&lt;br/&gt;
      refClass: Partner_Shannel_Code&lt;/p&gt;

&lt;p&gt;Partner_Shannel_Code:&lt;br/&gt;
  tableName: partner_channel_x_code&lt;br/&gt;
----------------&lt;/p&gt;

&lt;p&gt;Everything is created.&lt;/p&gt;

&lt;p&gt;----------------&lt;br/&gt;
CREATE TABLE partner_channel (id INT UNSIGNED AUTO_INCREMENT, name VARCHAR(64) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB;&lt;br/&gt;
CREATE TABLE partner_code (id INT UNSIGNED AUTO_INCREMENT, code VARCHAR(64) NOT NULL UNIQUE, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB;&lt;br/&gt;
CREATE TABLE partner_channel_x_code (channel_id INT UNSIGNED, code_id INT UNSIGNED, PRIMARY KEY(channel_id, code_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB;&lt;br/&gt;
ALTER TABLE partner_channel_x_code ADD CONSTRAINT partner_channel_x_code_code_id_partner_code_id FOREIGN KEY (code_id) REFERENCES partner_code(id);&lt;br/&gt;
ALTER TABLE partner_channel_x_code ADD CONSTRAINT partner_channel_x_code_channel_id_partner_channel_id FOREIGN KEY (channel_id) REFERENCES partner_channel(id);&lt;br/&gt;
----------------&lt;/p&gt;

&lt;p&gt;So as I figured out is that when creating the tables alphabetic order has an influence on creating the CONSTRAINT for that Model in sql. I suppose line 715 of the Doctrine/Table.php near $key = $this-&amp;gt;_checkForeignKeyExists(...) is operating, but I am not sure (when inserting into DB some tables are not created yet?).&lt;/p&gt;

&lt;p&gt;Do not know how to markup here, it&apos;s my first issue in Jira, please press &quot;edit&quot; to see the yaml code formatted &lt;/p&gt;</description>
                <environment>FreeBSD 6.1, Apache 2.2.4, PHP 5.3.2, MySQL 5.0.41</environment>
            <key id="11289">DC-655</key>
            <summary>When Export from Models to database is made some constraints may not be created</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="c0ba">Oleg Stepura</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Apr 2010 11:01:05 +0000</created>
                <updated>Fri, 11 Jun 2010 09:05:00 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="12778" author="c0ba" created="Thu, 29 Apr 2010 12:57:26 +0000"  >&lt;p&gt;Also what I noticed today is that this YAML schema:&lt;/p&gt;

&lt;p&gt;Partner_Channel:&lt;br/&gt;
  tableName: partner_channel&lt;br/&gt;
  comment: List of channels.&lt;/p&gt;

&lt;p&gt;Does not add comment to the MySQL table when trying to do this through the cli build-all-load command. Neither the generated Model nor the exported sql chema have this option (&apos;comment&apos;).&lt;/p&gt;

&lt;p&gt;maybe this should be a different bug report...&lt;/p&gt;</comment>
                    <comment id="13272" author="gx" created="Fri, 11 Jun 2010 08:40:46 +0000"  >&lt;p&gt;For your missing table comment, try nesting &quot;comment&quot; into &quot;options&quot;, like this:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;YAML&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Partner_Channel:
  tableName: partner_channel
  options:
    comment: List of channels.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&amp;#8212;&lt;/p&gt;

&lt;p&gt;Now for the missing constraints issue, I confirm! See #&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-502&quot; title=&quot;sometimes not all the constraints are created for a many to many relation&quot;&gt;DC-502&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13274" author="c0ba" created="Fri, 11 Jun 2010 09:05:00 +0000"  >&lt;p&gt;Hi! As for the comments - your decision seems like a workaround. Is it so or is it the way it should work? Do you know how this kind of stuff will work in 2.0 version?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-652] unidirectionnal hasMany definition</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-652</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Here the definition of the Domain Model : &lt;a href=&quot;http://pastebin.com/i80d73s8&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/i80d73s8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To resume, Show is a mother class. Video, is a direct extend from Show.&lt;br/&gt;
ShowContainer  is an abstract class that expend Show. It define an hasMany relation to Video, through CompoShowShow.&lt;br/&gt;
Program and Playlist are extends ShowContainer.&lt;/p&gt;

&lt;p&gt;the following DQL Query work fine.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;$query	= Doctrine_Query::create ()&lt;br/&gt;
	-&amp;gt;from (&quot;Model_Program program&quot;)&lt;br/&gt;
	-&amp;gt;leftJoin (&quot;program.children children&quot;);&lt;br/&gt;
$oShow = $query-&amp;gt;fetchOne ();&lt;br/&gt;
var_dump (get_class ($oShow-&amp;gt;children&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;)); //Output Model_Video&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;But, the following code isn&apos;t working :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;$oProgram			= Doctrine_Core::getTable (&quot;Model_Program&quot;)-&amp;gt;find (2);&lt;br/&gt;
$oProgram-&amp;gt;children;&lt;/p&gt;

&lt;p&gt;//Throw Exception&lt;br/&gt;
//Message: Unknown record property / related component &quot;children&quot; on &quot;Model_Program&quot; &lt;br/&gt;
//Doctrine\Record.php(1381)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The Program#2 is in the database.&lt;/p&gt;

&lt;p&gt;Here we are.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11276">DC-652</key>
            <summary>unidirectionnal hasMany definition</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="armetiz">Thomas Tourlourat - Armetiz</reporter>
                        <labels>
                    </labels>
                <created>Tue, 27 Apr 2010 10:22:27 +0000</created>
                <updated>Mon, 14 Jun 2010 09:29:07 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13203" author="jwage" created="Tue, 8 Jun 2010 16:17:14 +0000"  >&lt;p&gt;We&apos;ll need some more information. I don&apos;t see the Model_Program model anywhere. Can you create a failing test case?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-649] Getting Doctrine_Validator_Exception on Doctrine_Record::replace() when using unique</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-649</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Using this code:&lt;/p&gt;

&lt;p&gt;$user = new User();&lt;br/&gt;
$user-&amp;gt;mail = &apos;mail@mail.mail&apos;;&lt;br/&gt;
$user-&amp;gt;save();&lt;br/&gt;
$user2 = new User();&lt;br/&gt;
$user2-&amp;gt;mail = &apos;mail@mail.mail&apos;;&lt;br/&gt;
$user2-&amp;gt;replace();&lt;/p&gt;

&lt;p&gt;I get the following exception:&lt;/p&gt;

&lt;p&gt;Fatal error: Uncaught exception &apos;Doctrine_Validator_Exception&apos; with message &apos;Validation failed in class User: 1 field had validation error: 1 validator failed on mail (unique)&apos; in D:\Workspace\Doctrine\Doctrine\Transaction.php:265&lt;br/&gt;
Stack trace:&lt;br/&gt;
#0 D:\Workspace\Doctrine\Doctrine\Connection.php(1395): Doctrine_Transaction-&amp;gt;commit(NULL)&lt;br/&gt;
#1 D:\Workspace\Doctrine\Doctrine\Connection\UnitOfWork.php(143): Doctrine_Connection-&amp;gt;commit()&lt;br/&gt;
#2 D:\Workspace\Doctrine\Doctrine\Record.php(1748): Doctrine_Connection_UnitOfWork-&amp;gt;saveGraph(Object(User), true)&lt;br/&gt;
#3 D:\Workspace\test.php: Doctrine_Record-&amp;gt;replace()&lt;br/&gt;
#4 &lt;/p&gt;
{main}
&lt;p&gt;thrown in D:\Workspace\Doctrine\Doctrine\Transaction.php on line 265&lt;/p&gt;</description>
                <environment>PHP 5.3.2, MySQL 5.1.46</environment>
            <key id="11268">DC-649</key>
            <summary>Getting Doctrine_Validator_Exception on Doctrine_Record::replace() when using unique</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="p4lschool">p4l</reporter>
                        <labels>
                    </labels>
                <created>Mon, 26 Apr 2010 11:41:15 +0000</created>
                <updated>Mon, 26 Apr 2010 11:41:15 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-648] Behavior geographical generates latitude DOUBLE(18, 2), longitude DOUBLE(18, 2) - it&apos;s not exact</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-648</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The problem was already described by another person at &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-385&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-385&lt;/a&gt;&lt;br/&gt;
and was fixed but now is broken again.&lt;/p&gt;

&lt;p&gt;When using the Geographical behaviour in a YML schema the latitude is stored in Mysql as a Double(18,2) instead of a Double as it was in the previous versions. It appears that all doubles in yml are defaulting to (18,2).&lt;/p&gt;</description>
                <environment>Doctrine 1.2.2</environment>
            <key id="11265">DC-648</key>
            <summary>Behavior geographical generates latitude DOUBLE(18, 2), longitude DOUBLE(18, 2) - it&apos;s not exact</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="indiekiduk">Malcolm Hall</reporter>
                        <labels>
                    </labels>
                <created>Sat, 24 Apr 2010 13:20:03 +0000</created>
                <updated>Wed, 19 Jan 2011 05:26:19 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Behaviors</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="12744" author="indiekiduk" created="Sat, 24 Apr 2010 13:39:55 +0000"  >&lt;p&gt;The problem lies in DataDict/Mysql.php&lt;/p&gt;

&lt;p&gt;Previously it was:&lt;/p&gt;

&lt;p&gt;case &apos;double&apos;:&lt;br/&gt;
return &apos;DOUBLE&apos;;&lt;/p&gt;

&lt;p&gt;now it&apos;s:&lt;/p&gt;

&lt;p&gt;case &apos;double&apos;:&lt;br/&gt;
                $length = !empty($field&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;length&amp;#39;&amp;#93;&lt;/span&gt;) ? $field&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;length&amp;#39;&amp;#93;&lt;/span&gt; : 18;&lt;br/&gt;
                $scale = !empty($field&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;scale&amp;#39;&amp;#93;&lt;/span&gt;) ? $field&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;scale&amp;#39;&amp;#93;&lt;/span&gt; : $this-&amp;gt;conn-&amp;gt;getAttribute(Doctrine_Core::ATTR_DECIMAL_PLACES);&lt;br/&gt;
                return &apos;DOUBLE(&apos;.$length.&apos;, &apos;.$scale.&apos;)&apos;;&lt;/p&gt;

&lt;p&gt;Perhaps this could be improved so that if there is no length specified it returns just double with no length or scale instead of defaulting to 18, ATTR_DECIMAL_PLACES? I expect that most people that use the double type in yaml wouldn&apos;t want only 2 decimals.&lt;/p&gt;</comment>
                    <comment id="13181" author="jwage" created="Tue, 8 Jun 2010 13:53:29 +0000"  >&lt;p&gt;Can you provide a patch that fixes the situation for you? we&apos;ll see if that has any breakage of current tests.&lt;/p&gt;</comment>
                    <comment id="13706" author="spike008t" created="Mon, 26 Jul 2010 13:56:18 +0000"  >&lt;p&gt;I have the same trouble, and I fix it by specified directly the precision of the double into Doctrine_Template_Geographical class.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&apos;type&apos;     =&amp;gt;  &apos;double(18,8)&apos;,&lt;/p&gt;&lt;/blockquote&gt;</comment>
                    <comment id="14681" author="janusz.slota" created="Mon, 8 Nov 2010 08:54:54 +0000"  >&lt;p&gt;You can fix it with:&lt;br/&gt;
Geographical:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;latitude:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type: float(18,8)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;longitude:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type: float(18,8)&lt;/p&gt;

&lt;p&gt;instead of:&lt;br/&gt;
Geographical: ~&lt;/p&gt;</comment>
                    <comment id="15149" author="spike008t" created="Wed, 19 Jan 2011 05:26:19 +0000"  >&lt;p&gt;diff on Template/Geographical.php&lt;/p&gt;

&lt;p&gt;Hope that could help&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10913" name="patch.diff" size="1091" author="spike008t" created="Wed, 19 Jan 2011 05:26:19 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-643] Doctrine_Collection problem duplicate record</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-643</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;blockquote&gt;
&lt;p&gt;$oVideo	= Doctrine_Core::getTable (&quot;Model_Video&quot;)-&amp;gt;find (500);&lt;br/&gt;
$oVideo	= new Model_Video ();&lt;br/&gt;
$oVideo-&amp;gt;assignIdentifier (500);&lt;/p&gt;

&lt;p&gt;$oTag	= Doctrine_Core::getTable (&quot;Model_Tag&quot;)-&amp;gt;find (500);&lt;br/&gt;
$oVideo-&amp;gt;tags-&amp;gt;clear ();&lt;br/&gt;
$oVideo-&amp;gt;tags[] = $oTag;&lt;br/&gt;
$oVideo-&amp;gt;save ();&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The previous code can be execute a lot of time. &lt;/p&gt;

&lt;p&gt;Now, let us create the Doctrine_Collection.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;$oVideo	= Doctrine_Core::getTable (&quot;Model_Video&quot;)-&amp;gt;find (500);&lt;br/&gt;
$oVideo	= new Model_Video ();&lt;br/&gt;
$oVideo-&amp;gt;assignIdentifier (500);&lt;/p&gt;

&lt;p&gt;$oTag	= Doctrine_Core::getTable (&quot;Model_Tag&quot;)-&amp;gt;find (500);&lt;br/&gt;
$oVideo-&amp;gt;tags	= new Doctrine_Collection (&quot;Model_Tag&quot;);&lt;br/&gt;
$oVideo-&amp;gt;tags[] = $oTag;&lt;br/&gt;
$oVideo-&amp;gt;save ();&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Doctrine create a relation between the video and tag. It doesn&apos;t update it. &lt;br/&gt;
If the relation already exists into the database, Doctrine create an other record, or the DB throw an integrity error if you have constraint.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11257">DC-643</key>
            <summary>Doctrine_Collection problem duplicate record</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="armetiz">Thomas Tourlourat - Armetiz</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Apr 2010 09:53:22 +0000</created>
                <updated>Thu, 22 Apr 2010 09:53:22 +0000</updated>
                                    <version>1.2.2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-640] Slugs aren&apos;t created when inserting/updating a table row</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-640</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Basically the slug column doesn&apos;t get updated in spite of all fields being added correctly, as far as i can tell.&lt;br/&gt;
It seems to be related to additional options because when i don&apos;t have either of the uniqueBy or canUpdate options specified, it just works.&lt;/p&gt;

&lt;p&gt;What&apos;s been missing is the &apos;slug&apos; column value in the sql statements (providing 3 examples):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;2400 Query INSERT INTO `custom_category` (`block_id`, `name`) VALUES (&apos;1&apos;, &apos;slug test&apos;)
2526 Query INSERT INTO `custom_category` (`name`, `block_id`) VALUES (&apos;please &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; work..&apos;, &apos;1&apos;)
2560 Query UPDATE `custom_category` SET `name` = &apos;still not ok&apos; WHERE `id` = &apos;12&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The generated schema.sql includes the correct create table statement (it&apos;s also correctly inserted in the db):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;CREATE TABLE `custom_category` (
  `id` INT UNSIGNED AUTO_INCREMENT,
  `name` VARCHAR(255) NOT NULL,
  `block_id` INT UNSIGNED NOT NULL,
  `slug` VARCHAR(255),
  UNIQUE INDEX `custom_category_sluggable_idx` (`slug`, `block_id`, `name`),
  INDEX `block_id_idx` (`block_id`),
  PRIMARY KEY(`id`)
) ENGINE = INNODB;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The schema.yml entry is the following:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;CustomCategory:
  connection: removed
  tableName: custom_category
  actAs:
    Sluggable:
      fields: [name]
      uniqueBy: [block_id, name]
      canUpdate: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
  columns:
    id:
      type: integer(4)
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      primary: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      autoincrement: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    name:
      type: string(255)
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    block_id:
      type: integer(4)
      unsigned: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
      notnull: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
  relations:
    Products:
      class: Product
      foreignAlias: CustomCategories
      refClass: ProductCustomCategory
    Block:
      class: Block
      local: block_id
      foreign: id
      foreignType: many
      foreignAlias: CustomCategories
      type: one
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And finally the appropriate auto generated base class (removed doc block):&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&amp;lt;?php
&lt;span class=&quot;code-comment&quot;&gt;// Connection Component Binding
&lt;/span&gt;Doctrine_Manager::getInstance()-&amp;gt;bindComponent(&apos;CustomCategory&apos;, &apos;removed&apos;);

&lt;span class=&quot;code-keyword&quot;&gt;abstract&lt;/span&gt; class BaseCustomCategory &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; aaDoctrineRecord
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;setTableName(&apos;custom_category&apos;);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;id&apos;, &apos;integer&apos;, 4, array(
             &apos;type&apos; =&amp;gt; &apos;integer&apos;,
             &apos;unsigned&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;primary&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;autoincrement&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;length&apos; =&amp;gt; &apos;4&apos;,
             ));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;name&apos;, &apos;string&apos;, 255, array(
             &apos;type&apos; =&amp;gt; &apos;string&apos;,
             &apos;notnull&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;length&apos; =&amp;gt; &apos;255&apos;,
             ));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;block_id&apos;, &apos;integer&apos;, 4, array(
             &apos;type&apos; =&amp;gt; &apos;integer&apos;,
             &apos;unsigned&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;notnull&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             &apos;length&apos; =&amp;gt; &apos;4&apos;,
             ));
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
    {
        parent::setUp();
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasMany(&apos;Product as Products&apos;, array(
             &apos;refClass&apos; =&amp;gt; &apos;ProductCustomCategory&apos;,
             &apos;local&apos; =&amp;gt; &apos;custom_category_id&apos;,
             &apos;foreign&apos; =&amp;gt; &apos;product_id&apos;));

        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasOne(&apos;Block&apos;, array(
             &apos;local&apos; =&amp;gt; &apos;block_id&apos;,
             &apos;foreign&apos; =&amp;gt; &apos;id&apos;));

        $sluggable0 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine_Template_Sluggable(array(
             &apos;fields&apos; =&amp;gt;
             array(
              0 =&amp;gt; &apos;name&apos;,
             ),
             &apos;uniqueBy&apos; =&amp;gt;
             array(
              0 =&amp;gt; &apos;block_id&apos;,
              1 =&amp;gt; &apos;name&apos;,
             ),
             &apos;canUpdate&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;,
             ));
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;actAs($sluggable0);
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Using Symfony 1.4 form svn:&lt;br/&gt;
&lt;br/&gt;
URL: &lt;a href=&quot;http://svn.symfony-project.com/branches/1.4&quot;&gt;http://svn.symfony-project.com/branches/1.4&lt;/a&gt;&lt;br/&gt;
Revision: 29223&lt;br/&gt;
Last Changed Rev: 29218&lt;br/&gt;
Last Changed Date: 2010-04-20 08:04:09 +0200 (Di, 20 Apr 2010) </environment>
            <key id="11251">DC-640</key>
            <summary>Slugs aren&apos;t created when inserting/updating a table row</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="perplexa">Daniel K&#246;nig</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Apr 2010 03:59:16 +0000</created>
                <updated>Mon, 3 May 2010 08:31:15 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Sluggable</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12817" author="caponica" created="Sat, 1 May 2010 14:00:57 +0000"  >&lt;p&gt;What is the code that you&apos;re using to generate the INSERT query?&lt;/p&gt;</comment>
                    <comment id="12820" author="perplexa" created="Mon, 3 May 2010 08:31:15 +0000"  >&lt;p&gt;just instantiating the object, calling the setters, followed by a save().&lt;/p&gt;

&lt;p&gt;it&apos;s related to the uniqueBy and canUpdate options, though - it works like a charm without these two.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-635] synchronizeWithArray and link-table</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-635</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Tree tables : tags, compo_show_tag, shows&lt;/p&gt;

&lt;p&gt;&quot;compo_show_tag&quot; make a link between tags and shows. It&apos;s a many-to-many relationship.&lt;/p&gt;

&lt;p&gt;Assume that all the Tags / Shows are already create. The max id is 300 for shows and tags.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;$itemArray							= array ();&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;					= 38;&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;shows&amp;quot;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;		= 36;&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;shows&amp;quot;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;		= 200;&lt;/p&gt;

&lt;p&gt;$item = new Model_Tag ();&lt;br/&gt;
$item-&amp;gt;synchronizeWithArray($itemArray, true);&lt;/p&gt;

&lt;p&gt;echo $item-&amp;gt;shows&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;-&amp;gt;idShow; //Output : 36&lt;br/&gt;
echo $item-&amp;gt;shows&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;-&amp;gt;idShow; //Output : 200&lt;/p&gt;

&lt;p&gt;$item-&amp;gt;save ();&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Above create two entry into the compo_show_table. Because all element are existing.&lt;/p&gt;


&lt;blockquote&gt;
&lt;p&gt;$itemArray							= array ();&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;					= 38;&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;shows&amp;quot;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;		= 36;&lt;/p&gt;

&lt;p&gt;$item = new Model_Tag ();&lt;br/&gt;
$item-&amp;gt;synchronizeWithArray($itemArray, true);&lt;/p&gt;

&lt;p&gt;echo $item-&amp;gt;shows&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;-&amp;gt;idShow; //Output : 36&lt;/p&gt;

&lt;p&gt;$item-&amp;gt;save ();&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Above remove the relation between Show#200 and Tag#38, but keep the relation between Show#36 and Tag#38.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;$itemArray							= array ();&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;					= 38;&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;shows&amp;quot;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;		= 36;&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;shows&amp;quot;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;		= 150;&lt;br/&gt;
$item = new Model_Tag ();&lt;br/&gt;
$item-&amp;gt;synchronizeWithArray($itemArray, true);&lt;/p&gt;

&lt;p&gt;echo $item-&amp;gt;shows&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;-&amp;gt;idShow; //Output : 36&lt;br/&gt;
echo $item-&amp;gt;shows&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;-&amp;gt;idShow; //Output : 150&lt;/p&gt;

&lt;p&gt;$item-&amp;gt;save ();&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Above create a new relation, like the first example.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;$itemArray							= array ();&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;					= 38;&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;shows&amp;quot;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;		= 36;&lt;br/&gt;
$itemArray&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;shows&amp;quot;&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;_identifier&amp;quot;&amp;#93;&lt;/span&gt;		= 140;&lt;/p&gt;

&lt;p&gt;$item = new Model_Tag ();&lt;br/&gt;
$item-&amp;gt;synchronizeWithArray($itemArray, true);&lt;/p&gt;

&lt;p&gt;echo $item-&amp;gt;shows&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;-&amp;gt;idShow; //Output : 36&lt;br/&gt;
echo $item-&amp;gt;shows&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;-&amp;gt;idShow; //Output : 140&lt;/p&gt;

&lt;p&gt;$item-&amp;gt;save ();&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Bug is above.&lt;br/&gt;
We except that Doctrine remove the relation between Show#150 and Tag#38 and add a new one between Show#140 and Tag#38. &lt;br/&gt;
Here the bug because Doctrine doesn&apos;t change anything. &lt;/p&gt;

&lt;p&gt;Thanks.&lt;br/&gt;
Armetiz.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11231">DC-635</key>
            <summary>synchronizeWithArray and link-table</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="armetiz">Thomas Tourlourat - Armetiz</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Apr 2010 09:04:56 +0000</created>
                <updated>Fri, 16 Apr 2010 09:07:30 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-634] getPopularTags() query fails on Postgresql</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-634</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;When I run:&lt;br/&gt;
Doctrine::getTable(&apos;TaggableTag&apos;)-&amp;gt;getPopularTags();&lt;br/&gt;
I get: ERROR: column &quot;i2__1&quot; does not exist&lt;/p&gt;

&lt;p&gt;The failing query on PostgreSql is:&lt;/p&gt;

&lt;p&gt;SELECT t.id AS t_id, t.name AS tname, COUNT(DISTINCT i.id) AS i_0,&lt;br/&gt;
(COUNT(DISTINCT i.id)) AS i__1&lt;br/&gt;
FROM taggable_tag t&lt;br/&gt;
LEFT JOIN cms_model_image_taggable_tag c ON (t.id = c.tag_id)&lt;br/&gt;
LEFT JOIN image i ON i.id = c.id&lt;br/&gt;
WHERE t.id IN&lt;br/&gt;
(SELECT doctrine_subquery_alias.id&lt;br/&gt;
FROM&lt;br/&gt;
(SELECT DISTINCT t2.id, (COUNT(DISTINCT i2.id)) AS i2__1&lt;br/&gt;
FROM taggable_tag t2&lt;br/&gt;
LEFT JOIN cms_model_image_taggable_tag c2 ON (t2.id = c2.tag_id)&lt;br/&gt;
LEFT JOIN image i2 ON i2.id = c2.id&lt;br/&gt;
GROUP BY t2.id HAVING i2__1 &amp;gt; 0&lt;br/&gt;
ORDER BY i2__1 DESC LIMIT 10) AS doctrine_subquery_alias)&lt;br/&gt;
GROUP BY t.id HAVING i__1 &amp;gt; 0&lt;br/&gt;
ORDER BY i__1 DESC&lt;/p&gt;

&lt;p&gt;Seems that this just a PostgreSql issue.&lt;br/&gt;
On Mysql it runs just fine.&lt;/p&gt;

&lt;p&gt;The corrected, working query is:&lt;/p&gt;

&lt;p&gt;SELECT t.id AS t_&lt;em&gt;id, t.name AS t&lt;/em&gt;&lt;em&gt;name, COUNT(DISTINCT i.id) AS i&lt;/em&gt;_0,&lt;br/&gt;
   (COUNT(DISTINCT i.id)) AS i__1&lt;br/&gt;
FROM taggable_tag t&lt;br/&gt;
LEFT JOIN cms_&lt;em&gt;model&lt;/em&gt;_image_taggable_tag c ON (t.id = c.tag_id)&lt;br/&gt;
LEFT JOIN image i ON i.id = c.id&lt;br/&gt;
WHERE t.id IN&lt;br/&gt;
    (SELECT doctrine_subquery_alias.id&lt;br/&gt;
     FROM&lt;br/&gt;
       (SELECT DISTINCT t2.id, (COUNT(DISTINCT i2.id)) AS i2__1&lt;br/&gt;
        FROM taggable_tag t2&lt;br/&gt;
        LEFT JOIN cms_&lt;em&gt;model&lt;/em&gt;_image_taggable_tag c2 ON (t2.id = c2.tag_id)&lt;br/&gt;
        LEFT JOIN image i2 ON i2.id = c2.id&lt;br/&gt;
        GROUP BY t2.id HAVING COUNT(DISTINCT i2.id) &amp;gt; 0&lt;br/&gt;
        ORDER BY i2__1 DESC LIMIT 10) AS doctrine_subquery_alias)&lt;br/&gt;
GROUP BY t.id, t.name HAVING COUNT(DISTINCT i.id) &amp;gt; 0&lt;br/&gt;
ORDER BY i__1 DESC&lt;/p&gt;

&lt;p&gt;For more details, please read the discussion here:&lt;br/&gt;
&lt;a href=&quot;http://stackoverflow.com/questions/2647537/doctrine-sql-query-works-on-mysql-on-postgresql-wont&quot; class=&quot;external-link&quot;&gt;http://stackoverflow.com/questions/2647537/doctrine-sql-query-works-on-mysql-on-postgresql-wont&lt;/a&gt;&lt;/p&gt;</description>
                <environment>Windows, Postgresql</environment>
            <key id="11227">DC-634</key>
            <summary>getPopularTags() query fails on Postgresql</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="admirau">admirau</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Apr 2010 14:47:56 +0000</created>
                <updated>Thu, 15 Apr 2010 14:47:56 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Extensions</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-631] Documentation </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-631</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/Doctrine_Record/1_2#method_importfrom&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/Doctrine_Record/1_2#method_importfrom&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The description of the $type parameter is : Format type: xml, yml, json&lt;br/&gt;
But it could take an array.&lt;/p&gt;

&lt;p&gt;So the documentation have to be update for this point.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11222">DC-631</key>
            <summary>Documentation </summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="armetiz">Thomas Tourlourat - Armetiz</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Apr 2010 05:18:30 +0000</created>
                <updated>Thu, 15 Apr 2010 05:18:30 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Documentation</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-630] Add Undelete functionality to SoftDelete behaviour</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-630</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Can an undelete function be added to the Doctrine ORM which will reset deleted_at fields to null and conform to cascade rules (just as the original delete did)?&lt;/p&gt;</description>
                <environment></environment>
            <key id="11220">DC-630</key>
            <summary>Add Undelete functionality to SoftDelete behaviour</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="harryhobbes">Harry Birrell</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Apr 2010 01:35:57 +0000</created>
                <updated>Thu, 15 Apr 2010 01:35:57 +0000</updated>
                                                                    <component>Behaviors</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-629] Doctrine Integer Validator should use intval() rather than round(floatval())</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-629</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;echo PHP_INT_MAX;
echo &lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt;;
echo strval(round(floatval(PHP_INT_MAX)));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;on 64 bit machine, default php install, you get:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;9223372036854775807&lt;br/&gt;
9.22337203685E+18&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;float precision is set to 12 by default. setting it higher offers no benefit, with it set to 20+, it still doesn&apos;t match up (and is actually not reliably past a certain length, i&apos;d have to dig again to find a reference though), but as you can see, no go:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;9223372036854775807&lt;br/&gt;
9223372036854775808&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;as a result, very large #&apos;s do NOT validate as doctrine integers, even though they are.&lt;/p&gt;

&lt;p&gt;fix, use intval() instead. as far as I can tell, and as far as our 400+ unit tests in our application show, PHP_INT_MAX is fully supported everywhere else except for in Validator.php@170:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;170c170
&amp;lt;                  &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (string) $&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; == strval(round(floatval($&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;)));
---
&amp;gt;                  &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (string) $&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; == strval(intval($&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Ubuntu 9.10 x64, php 5.2.10</environment>
            <key id="11219">DC-629</key>
            <summary>Doctrine Integer Validator should use intval() rather than round(floatval())</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="isleshocky77">Stephen Ostrow</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Apr 2010 15:41:01 +0000</created>
                <updated>Tue, 8 Jun 2010 17:13:14 +0000</updated>
                                    <version>1.2.0-ALPHA1</version>
                <version>1.2.0-ALPHA2</version>
                <version>1.2.0-ALPHA3</version>
                <version>1.2.0-BETA1</version>
                <version>1.2.0-BETA2</version>
                <version>1.2.0-BETA3</version>
                <version>1.2.0-RC1</version>
                <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                                                <component>Validators</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13224" author="jwage" created="Tue, 8 Jun 2010 17:13:14 +0000"  >&lt;p&gt;This breaks a test:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
Doctrine_Ticket_1783_TestCase...................................................failed


Doctrine_Ticket_1783_TestCase : method testValidateLargeIntegers failed on line 17 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-628] Two queries on the same table seems to share set of fields </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-628</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Two queries:&lt;/p&gt;

&lt;p&gt;1.              $ab1 = Doctrine_Query::create()&lt;br/&gt;
                        -&amp;gt;from(&apos;Model_UserAddressbook ab&apos;)&lt;br/&gt;
                        -&amp;gt;leftJoin(&apos;ab.UserPersons up&apos;)&lt;br/&gt;
                        -&amp;gt;leftJoin(&apos;ab.AdminUsers au&apos;);  // second one doesn&apos;t have this join&lt;/p&gt;

&lt;p&gt;2.              $ab2 = Doctrine_Query::create()&lt;br/&gt;
                        -&amp;gt;from(&apos;Model_UserAddressbook ab&apos;)&lt;br/&gt;
                        -&amp;gt;leftJoin(&apos;ab.UserPersons up&apos;);&lt;/p&gt;

&lt;p&gt;When executing the following fetchOne:&lt;/p&gt;

&lt;p&gt;A.) $x1 = $ab2-&amp;gt;fetchOne()-&amp;gt;toArray();  // has fields from addressbook, and subarray UserPersons, OK&lt;br/&gt;
B.) $x2 = $ab1-&amp;gt;fetchOne()-&amp;gt;toArray();  // has fields from addressbook, and subarray UserPersons and AdminUsers, OK&lt;br/&gt;
C.) $x3 = $ab2-&amp;gt;fetchOne()-&amp;gt;toArray();  // has fields from addressbook, and subarray UserPersons and AdminUsers, NOT OK&lt;/p&gt;

&lt;p&gt;$x1 and $x3 should have the same set of fields, but $x3 has somehow received set of fields from $x2.&lt;/p&gt;

&lt;p&gt;I haven&apos;t turned on any caching, but even if the caching is on, the result sets shouldn&apos;t mix, right?&lt;/p&gt;

&lt;p&gt;I&apos;m talking just about field names (set of fields), not fields data.&lt;/p&gt;</description>
                <environment>OS: Vista 64&lt;br/&gt;
Zend Framework 1.10.1&lt;br/&gt;
MySQL: 5.1.39</environment>
            <key id="11217">DC-628</key>
            <summary>Two queries on the same table seems to share set of fields </summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vlatko">Vlatko Basic</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Apr 2010 04:42:03 +0000</created>
                <updated>Mon, 14 Jun 2010 09:24:49 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-624] Validator_Readonly fails for new objects</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-624</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If Readonly validator is on for some field, it fails when you trying to create new object (ie. by loading fixtures).&lt;/p&gt;

&lt;p&gt;Fix proposition is in attachment.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11196">DC-624</key>
            <summary>Validator_Readonly fails for new objects</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tomwys">Tomasz Wysocki</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Apr 2010 13:52:37 +0000</created>
                <updated>Fri, 9 Apr 2010 13:52:37 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Validators</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10563" name="Readonly.php" size="1664" author="tomwys" created="Fri, 9 Apr 2010 13:52:37 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-623] Impossible to create non-unique slugs</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-623</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I want to create a non-unique slug of a title field from my table.&lt;/p&gt;

&lt;p&gt;But I&apos;ve found that when I change unique from &apos;true&apos; to &apos;false&apos; the slugs were not created or updated&lt;/p&gt;

&lt;p&gt;In lib\Doctrine\Template\Listener\Sluggable.php inside preUpdate() function the first if() statement disables the unique (false) option.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11193">DC-623</key>
            <summary>Impossible to create non-unique slugs</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="adwise">Adwise Internetmarketing</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Apr 2010 08:28:02 +0000</created>
                <updated>Tue, 31 Aug 2010 11:51:12 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Sluggable</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14176" author="jmather" created="Mon, 30 Aug 2010 16:44:12 +0000"  >&lt;p&gt;Theoretically this should clear up the issue. Sorry for not having the time for a complete test at the moment,&lt;/p&gt;</comment>
                    <comment id="14178" author="webpragmatist" created="Mon, 30 Aug 2010 16:59:52 +0000"  >&lt;p&gt;The patch by Jacob doesn&apos;t work. The reason for the unique check is to bypass appending a numeric value to the end of a slug in the even two exist.&lt;/p&gt;

&lt;p&gt;It just needs to somehow be directly sent to the urlize function.&lt;/p&gt;</comment>
                    <comment id="14196" author="jmather" created="Tue, 31 Aug 2010 11:51:12 +0000"  >&lt;p&gt;I would just like to post an update after I&apos;ve been able to test:&lt;/p&gt;

&lt;p&gt;The only functionality that i found actually broken was updating a slug with unique set to false.&lt;/p&gt;

&lt;p&gt;The reason was the wrapped if.&lt;/p&gt;

&lt;p&gt;If you set unique to false, slugs will still fail to update as canUpdate must also be set to true.&lt;/p&gt;

&lt;p&gt;The patch, so far as I can determine, does correct the underlying issue if a slug failing to update when unique is false and canUpdate is true.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10750" name="dc-623.patch" size="1661" author="jmather" created="Mon, 30 Aug 2010 16:44:12 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-617] migration problem</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-617</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I attached a testcase that reproduces all problem that I noticed (previously reported in &quot;serious symfony doctrine:migrate issues - symfony 1.4&quot; on symfony-dev)&lt;/p&gt;

&lt;p&gt;There is a problem with an empty ON UPDATE when migrate to version 5&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42601&amp;#93;&lt;/span&gt;: Syntax error: 7 B&#321;&#260;D:  b&#322;&#261;d sk&#322;adni w lub blisko &quot;ON&quot;&lt;br/&gt;
LINE 1: ... (object_c_id) REFERENCES object_c(id) ON UPDATE  ON DELETE ...&lt;br/&gt;
                                                             ^. Failing Query: &quot;ALTER TABLE object_b ADD CONSTRAINT object_b_object_c_id_object_c_id FOREIGN KEY (object_c_id) REFERENCES object_c(id) ON UPDATE  ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE&quot;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;When  migrateing from 5 to 3&lt;br/&gt;
Failing Query: &quot;DROP INDEX object_b_object_c_id_idx&quot; - this index doesn&apos;t exist - should be &quot;object_b_object_c_id&quot;&lt;/p&gt;

&lt;p&gt;Also&lt;br/&gt;
        $this-&amp;gt;changeColumn(&apos;object_a&apos;, &apos;name&apos;, &apos;string&apos;, &apos;2048&apos;, array(&lt;br/&gt;
             ));&lt;br/&gt;
        $this-&amp;gt;changeColumn(&apos;object_b&apos;, &apos;name&apos;, &apos;string&apos;, &apos;2048&apos;, array(&lt;br/&gt;
             ));&lt;br/&gt;
doesn&apos;t work for me&lt;/p&gt;</description>
                <environment>Symfony 1.4.3, Linux, PostgreSQL, Pgpool II</environment>
            <key id="11177">DC-617</key>
            <summary>migration problem</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="m">MichalKJP</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Apr 2010 12:07:49 +0000</created>
                <updated>Fri, 22 Jun 2012 14:01:48 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Migrations</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14308" author="ludo.fleury" created="Wed, 8 Sep 2010 10:27:25 +0000"  >&lt;p&gt;My own Quick Fix for  DROP INDEX (into Export class)&lt;br/&gt;
Skip Formatter-&amp;gt;getIndexName() in Export-&amp;gt;dropIndex()&lt;br/&gt;
see : &lt;a href=&quot;http://www.pastie.org/1145916&quot; class=&quot;external-link&quot;&gt;http://www.pastie.org/1145916&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14309" author="m" created="Wed, 8 Sep 2010 10:38:12 +0000"  >&lt;p&gt;I already tested this solution and I can confirm that also works for me.&lt;/p&gt;

&lt;p&gt;I am afraid that Johnatan spends much time on the new version and did not have time to correct these bugs for the old version. So we still repair migrations manualy.&lt;/p&gt;</comment>
                    <comment id="18131" author="sarcas" created="Fri, 22 Jun 2012 14:01:48 +0000"  >&lt;p&gt;We&apos;ve had this issue for a while - while Ludo&apos;s fix does work, there is an SQL injection issue in that the &apos;$name&apos; doesn&apos;t get escaped.&lt;/p&gt;

&lt;p&gt;You can do this:  $name = $this-&amp;gt;conn-&amp;gt;quoteIdentifier($name); which also steps around the issue for now.&lt;/p&gt;

&lt;p&gt;The problem appears to be that the indexes &lt;b&gt;aren&apos;t&lt;/b&gt; being created with the _idx string on the end when using the migrations. This is probably down to the index creation process rather than the index removal process.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10545" name="testcase.tar.bz2" size="49650" author="m" created="Tue, 6 Apr 2010 12:07:49 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-619] preHydrate/postHydrate events do not use proper sub-class component</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-619</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I am trying to use preHydrate/postHydrate with my models that use inheritance. The problem is that when using the parent table is used to query the records, the preHydrate/postHydrate events are passed to the parent record class instead of the proper sub-class for the current record.&lt;/p&gt;

&lt;p&gt;Using the example schema below, if I do a findAll() on the Person table and it contained two Student records and one Professor record... preHydrate would get called on Person instead of Student and Professor. This also applies for any listeners that are registered on Student/Professor and not Person.&lt;/p&gt;

&lt;p&gt;Person:&lt;br/&gt;
  columns:&lt;br/&gt;
    name: &lt;/p&gt;
{ type: string(50) }

&lt;p&gt;Student:&lt;br/&gt;
  inheritance:&lt;br/&gt;
    extends: Person&lt;br/&gt;
    type: column_aggregation&lt;br/&gt;
    keyField: type&lt;br/&gt;
    keyType: 1&lt;/p&gt;

&lt;p&gt;Professor:&lt;br/&gt;
  inheritance:&lt;br/&gt;
    extends: Person&lt;br/&gt;
    type: column_aggregation&lt;br/&gt;
    keyField: type&lt;br/&gt;
    keyValue: 2&lt;/p&gt;
</description>
                <environment>PHP 5.2.11 (cli), Doctrine 1.2 (Revision: 7537)</environment>
            <key id="11179">DC-619</key>
            <summary>preHydrate/postHydrate events do not use proper sub-class component</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mlehner">Matt Lehner</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Apr 2010 14:55:23 +0000</created>
                <updated>Mon, 14 Jun 2010 09:28:51 +0000</updated>
                                    <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                                                <component>Inheritance</component>
                <component>Record</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-618] [PATCH] Local key relations without modifed fields but with modified relations are not saved</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-618</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Assume the following test setup:&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;Email&amp;#93;&lt;/span&gt; * &amp;#8212; 1 &lt;span class=&quot;error&quot;&gt;&amp;#91;Author&amp;#93;&lt;/span&gt; 1 &amp;#8212; * &lt;span class=&quot;error&quot;&gt;&amp;#91;Book&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Assume further that you have a new Email, Author and Book object. Email and book have modified fields, author does not, except for the foreign key relation.&lt;/p&gt;

&lt;p&gt;Now, when you save the Email object, the related Author is not saved because isModified($deep = false) returns false since no local field is modified. The solution is to pass the parameter $deep = true to isModified().&lt;/p&gt;

&lt;p&gt;Patch and test case are attached. No existing test is broken by this fix.&lt;/p&gt;

&lt;p&gt;PS: This patch fixes the correlated bug that objects with I18N behaviour are not saved if only their Translation objects are modified, but not their own fields.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11178">DC-618</key>
            <summary>[PATCH] Local key relations without modifed fields but with modified relations are not saved</summary>
                <type id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/subtask_alternate.png">Sub-task</type>
                    <parent id="11502">DC-740</parent>
                        <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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="bschussek">Bernhard Schussek</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Apr 2010 13:41:52 +0000</created>
                <updated>Sun, 10 Jul 2011 23:28:08 +0000</updated>
                                    <version>1.2.3</version>
                                                <component>Connection</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="10547" name="DC618TestCase.php" size="3518" author="bschussek" created="Tue, 6 Apr 2010 13:48:26 +0000" />
                    <attachment id="11028" name="directadmin-logo.gif" size="1508" author="bozzine" created="Sun, 10 Jul 2011 23:26:45 +0000" />
                    <attachment id="10546" name="ticket_dc618.patch" size="671" author="bschussek" created="Tue, 6 Apr 2010 13:48:26 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-614] Separate the properties of the parent and the children</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-614</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I want to talk about the inheritance, simple type and columns_aggregation.&lt;/p&gt;

&lt;p&gt;Here an example of parent classes and two sub-classes : &lt;a href=&quot;http://pastebin.com/5qJKtgp1&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/5qJKtgp1&lt;/a&gt;&lt;br/&gt;
Here the generated models classes : &lt;a href=&quot;http://pastebin.com/j2PmT7sd&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/j2PmT7sd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To sum up : The parent class is Show, and the sub-classes are Video and Playlist.&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;A Show have a title.&lt;/li&gt;
	&lt;li&gt;A Video have a filename.&lt;/li&gt;
	&lt;li&gt;A Playlist have a user.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The problem that appear with the generated models, Is that the following code is working.&lt;br/&gt;
$playlist = Doctrine_Core::getTable (&quot;Model_Playlist&quot;)-&amp;gt;find (3);&lt;br/&gt;
$playlist-&amp;gt;filename;&lt;/p&gt;

&lt;p&gt;Or, the POO concept want that the filename property doesn&apos;t exist/available on a Playlist object. And Doctrine should throw an Exception ! Or, It is not the case.&lt;/p&gt;

&lt;p&gt;The solution is to move the generated code of the sub-classes into there own classes.&lt;br/&gt;
Here the complete solution : &lt;a href=&quot;http://pastebin.com/LzTG10P7&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/LzTG10P7&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The problem with the one-to-one or many-to-many relationship is still the same.&lt;/p&gt;

&lt;p&gt;The solution is more POO compliant.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11165">DC-614</key>
            <summary>Separate the properties of the parent and the children</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="armetiz">Thomas Tourlourat - Armetiz</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Apr 2010 05:45:08 +0000</created>
                <updated>Fri, 2 Apr 2010 05:58:41 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Inheritance</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-615] New sequence generation for PostgreSQL SQL code results in errors</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-615</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;With 1.2.2 we get errors for our generated PostgreSQL code: &quot;sequence &amp;lt;sequence name&amp;gt; already exists&quot;. I tracked down the issue to the following:&lt;/p&gt;

&lt;p&gt;Doctrine_Export_Pgsql::createTableSql() has the following new code:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (isset($options[&apos;sequenceName&apos;])) {
            $sql[] = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createSequenceSql($options[&apos;sequenceName&apos;]);
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is fine, but this CREATE SEQUENCE code is now added after the CREATE TABLE code. This does not work okay for PostgreSQL, since PostgreSQL will automatically create the index for you if it does not yet exist. If CREATE SEQUENCE is required for some reason, then it should ge before the CREATE TABLE to be useful (it could for example be useful if different increment intervals or starting numbers should be set for the sequence).&lt;/p&gt;

&lt;p&gt;I tried moving the new code up, but that did not yet give me the desired results. The issue is that Doctrine_Export::exportClassesSql() collects all the SQL in an array and finally does:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;rsort($sql);
&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $sql;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This can break any statement set in there that should be run in a specific order. For the PostgreSQL code, this will put all the CREATE TABLE calls in font of the CREATE SEQUENCE calls, resulting in the errors that we see.&lt;/p&gt;

&lt;p&gt;Suggested fix options:&lt;/p&gt;

&lt;p&gt;1) Do not sort the SQL queries, but accept them as generated by the db specific Export class (but I&apos;m only suggesting this, because I am not aware of the reason to do an rsort() in the first place).&lt;/p&gt;

&lt;p&gt;2) Change the PostgreSQL export code to make it immune to the sorting.&lt;/p&gt;

&lt;p&gt;We did the latter in our code. The CREATE SEQUENCE and CREATE TABLE are concatenated into one statement string (&quot;&amp;lt;squence&amp;gt;;&amp;lt;table&amp;gt;&quot;) that is added to the list of SQL queries. This provides us a work-around for the problem. The first solution is more clean IMO, but I lack knowledge to tell if the rsort() is here for technical or aesthetic reasons. &lt;/p&gt;</description>
                <environment></environment>
            <key id="11168">DC-615</key>
            <summary>New sequence generation for PostgreSQL SQL code results in errors</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="mmakaay">Maurice Makaay</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Apr 2010 16:53:14 +0000</created>
                <updated>Sat, 22 Jan 2011 08:41:30 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14251" author="mmakaay" created="Fri, 3 Sep 2010 06:10:48 +0000"  >&lt;p&gt;An additional issue for the PostgreSQL sequence handling: the Doctrine code does create a sequence field in the tables. However, the sequence system seems not to be in use at all for generating new id fields. As a result, the sequences remain at their initial value of 1.&lt;/p&gt;

&lt;p&gt;We noticed this when we tried to manually insert a record in the database. Five records were already available. The manual INSERT failed, because of a duplicate index error on the id field. After a few attempts, it did work. That was because the PostgreSQL sequence had reached a value of 6, which was a non-existing id for the table at that point.&lt;/p&gt;

&lt;p&gt;I think that a choice has to be made here: either use sequences or don&apos;t:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;When id&apos;s are always generated without using the sequence features of PostgreSQL, then do not create the id fields as sequences, but make them standard primary key integer fields instead, so no unused sequence objects will be created in the database.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;When id generation makes use of sequence features, then it&apos;s okay to use sequences for id fields. When doing this, loading a new dataset into the database might require some additional attention for the sequences. After import, the sequences should be updated to represent the first free id value for the table that it is providing id values for. When data import makes use of the sequences directly for generating id&apos;s, then this would not be necessary of course.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I hope this helps in improving Doctrine.&lt;/p&gt;</comment>
                    <comment id="15158" author="mmakaay" created="Sat, 22 Jan 2011 08:41:30 +0000"  >&lt;p&gt;The issue with the duplicate id&apos;s is fixed on our system.&lt;/p&gt;

&lt;p&gt;When defining &quot;sequence: &amp;lt;something&amp;gt;&quot; in a YAML file for a field, Doctrine will generate two sequences: one as specified in the YAML data and one as autogenerated by PostgreSQL. Doctrine inserts will use one, direct inserts via SQL will use the other. By specifying an field as primary and autoincrement, a correct and single sequence will be generated.&lt;/p&gt;

&lt;p&gt;This work-around works for us. The Doctrine team will have to decide on what the expected behavior for &quot;sequence&quot; is. The current workings seem a bit off IMO.&lt;/p&gt;

&lt;p&gt;I hope this helps. Thanks.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10541" name="PostreSQL.createTableSql.sequence.fix.diff" size="1685" author="mmakaay" created="Fri, 2 Apr 2010 16:53:14 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-609] Symfony doctrine doesnt save an M:M table if one of the tables is in a 1:1 relationship with another table</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-609</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Symfony doctrine doesnt save an M:M table if one of the tables is in a 1:1 relationship with another table. Refer to Screen.png for ER diagram.&lt;/p&gt;

&lt;p&gt;I have included the schema files as attachments.&lt;/p&gt;

&lt;p&gt;You will notice in Screen shot 2010-03-31 at 3.30.56 AM.png, an item is selected in &quot;Amenities list&quot;. When the form is submitted, everything saves in the db except for the item in the &quot;Amenities list&quot; (Screen shot 2010-03-31 at 3.31.37 AM.png)&lt;/p&gt;
</description>
                <environment>MAC, Symfony PHP framework</environment>
            <key id="11154">DC-609</key>
            <summary>Symfony doctrine doesnt save an M:M table if one of the tables is in a 1:1 relationship with another table</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="krz">Chris F</reporter>
                        <labels>
                    </labels>
                <created>Tue, 30 Mar 2010 15:42:04 +0000</created>
                <updated>Wed, 31 Mar 2010 06:39:54 +0000</updated>
                                    <version>1.2.1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="12528" author="krz" created="Wed, 31 Mar 2010 06:39:54 +0000"  >&lt;p&gt;The problem could be because i am embedding a form that has a M:M relation with another table.&lt;/p&gt;

&lt;p&gt;Which is a similar issue to &lt;a href=&quot;http://trac.symfony-project.org/ticket/5867&quot; class=&quot;external-link&quot;&gt;http://trac.symfony-project.org/ticket/5867&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many have mentioned to override the saveEmbeddedForms() function inside BaseFormDoctrine.&lt;/p&gt;

&lt;p&gt;The patch at: &lt;a href=&quot;http://trac.symfony-project.org/ticket/5867&quot; class=&quot;external-link&quot;&gt;http://trac.symfony-project.org/ticket/5867&lt;/a&gt; doesnt work. How can we fix this?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10532" name="Ad.yml" size="1766" author="krz" created="Tue, 30 Mar 2010 15:44:27 +0000" />
                    <attachment id="10534" name="Amenity.yml" size="303" author="krz" created="Tue, 30 Mar 2010 15:44:27 +0000" />
                    <attachment id="10533" name="Housing.yml" size="1001" author="krz" created="Tue, 30 Mar 2010 15:44:27 +0000" />
                    <attachment id="10535" name="HousingAmenity.yml" size="560" author="krz" created="Tue, 30 Mar 2010 15:44:39 +0000" />
                    <attachment id="10530" name="Screen shot 2010-03-31 at 3.30.56 AM.png" size="26945" author="krz" created="Tue, 30 Mar 2010 15:42:04 +0000" />
                    <attachment id="10531" name="Screen shot 2010-03-31 at 3.31.37 AM.png" size="28450" author="krz" created="Tue, 30 Mar 2010 15:42:04 +0000" />
                    <attachment id="10529" name="Screen.png" size="42709" author="krz" created="Tue, 30 Mar 2010 15:42:04 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-589] refreshRelated() causes an id to be changed from string to int, causing an unnecessary update query.</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-589</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Here is an example:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;class Article &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;title&apos;, &apos;string&apos;, 255);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;body&apos;, &apos;string&apos;, 4096);
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasMany(&apos;Comment as Comments&apos;, array(
            &apos;local&apos; =&amp;gt; &apos;id&apos;,
            &apos;foreign&apos; =&amp;gt; &apos;articleId&apos;,
        ));
    }
}

class Comment &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Doctrine_Record
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTableDefinition()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;comment&apos;, &apos;string&apos;, 4096);
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasColumn(&apos;articleId&apos;, &apos;integer&apos;);
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUp()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;hasOne(&apos;Article&apos;, array(
            &apos;local&apos; =&amp;gt; &apos;articleId&apos;,
            &apos;foreign&apos; =&amp;gt; &apos;id&apos;,
        ));
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function preUpdate($e)
    {
        &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Exception(&apos;should not get here&apos;);
    }

}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Article();
$a-&amp;gt;title = &apos;Hi&apos;;
$a-&amp;gt;body = &apos;There&apos;;
$a-&amp;gt;save();

$c = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Comment();
$c-&amp;gt;comment = &apos;1st comment&apos;;
$c-&amp;gt;articleId = $a-&amp;gt;id;
$c-&amp;gt;save();

$a-&amp;gt;refreshRelated(&apos;Comments&apos;);

$a-&amp;gt;title = &apos;Hello&apos;;
$a-&amp;gt;save();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;What happens above is that the call to refreshRelated() causes the &apos;id&apos; of the comment to change from string:1 to int:1, which causes the last save of the article to try to save the comment. The exception is there just to illustrate that the Comment is being updated (which should not happen). For us - this is an issue not just because of the extra query, but because some entities in the system (like log entries) actually throw when updated.&lt;/p&gt;

&lt;p&gt;Tested against latest trunk.&lt;/p&gt;

&lt;p&gt;The issue seems to be introduced in r7361.&lt;/p&gt;</description>
                <environment>Ubuntu 9.10, PHP 5.2.10, pgsql 8.3</environment>
            <key id="11092">DC-589</key>
            <summary>refreshRelated() causes an id to be changed from string to int, causing an unnecessary update query.</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladev">Emil Vladev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Mar 2010 08:46:00 +0000</created>
                <updated>Mon, 29 Mar 2010 14:51:08 +0000</updated>
                                                                    <component>Record</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12504" author="jwage" created="Mon, 29 Mar 2010 14:51:08 +0000"  >&lt;p&gt;How does that revision cause the problem? it doesn&apos;t change any value that is referenced by the object itself. Are you sure the description of the problem is accurate? Maybe it would be best if I could run a Doctrine failing test case to see your problem.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-587] Problem with non equal self referencing many to many relations</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-587</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I think that this bug has been reported already here:&lt;br/&gt;
&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/