Hi Edson,

think you are right, the first statement doesn't
make sense.
I checked in your changes. Thanks!!

regards,
Armin

----- Original Message -----
From: "Edson Carlos Ericksson Richter"
<[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Friday, September 05, 2003 4:30 PM
Subject: Re: upgrade from rc3 to CVS Head rc4 doesn't work


I've discovered the problem. The error is related to

                if( fld.getClassDescriptor().getFullTableName() !=
aTableAlias.table )

It should not be

                if( !
fld.getClassDescriptor().getFullTableName().equals( aTableAlias.table ) 
)

???

Thanks,

Edson Richter

  ----- Original Message -----
  From: Edson Carlos Ericksson Richter
  To: OJB Users List
  Sent: Friday, September 05, 2003 10:59 AM
  Subject: Re: upgrade from rc3 to CVS Head rc4 doesn't work


  Ok, let's go. My app is working for month on top of rc3 (with some bug
fixes - I am using a CVS Head until 1.0 final doesnt came to us, the
mortals).

  Yesterday I've downloaded rc4 and noticed changes in OJB.properties
and DTD.
  I've adjusted the new OJB.properties to my app (I'm using beans with
formal getters/setters), and DBCP impl for connections.

  But I've discovered a (bug?) problem in SqlSelecteStatement. Debugging
I came to (SqlQueryStatement)

   protected String getColName(TableAlias aTableAlias, PathInfo
aPathInfo, boolean translate)
  ...
     if (fld != null)
     {
                  // added to suport the super reference descriptor
                  if( fld.getClassDescriptor().getFullTableName() !=
aTableAlias.table )
                  {
                      Iterator itr = aTableAlias.joins.iterator();
                      while( itr.hasNext() )
                      {
                          Join join = (Join) itr.next();
                          if( join.right.table ==
fld.getClassDescriptor().getFullTableName() )
                          {
                              result = join.right.alias + "." +
fld.getColumnName();
                              break;
                          }
                      }

                      if( result == null )
                      {
                          result = aPathInfo.column;
                      }
                  }
                  else
                  {
          result = aTableAlias.alias + "." + fld.getColumnName();
                  }
     }


  But what happens if aTableAlias has no joins? The line

  Iterator itr = aTableAlias.joins.iterator();

  Will thrown a NullPointerException (what I'm having).
  Could someone confirm this?


  Thanks,

  Edson Richter




  ---
  Outgoing mail is certified Virus Free.
  Checked by AVG anti-virus system (http://www.grisoft.com).
  Version: 6.0.515 / Virus Database: 313 - Release Date: 1/9/2003



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to