From: <one...@us...> - 2003-03-16 01:45:56
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql In directory sc8-pr-cvs1:/tmp/cvs-serv21387/src/net/sf/hibernate/sql Modified Files: InFragment.java Log Message: fixed problem loading one-to-many in Sybase alias length limitation for collection columns added force attribute to <discriminator> better handling of 'null' discriminators Index: InFragment.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql/InFragment.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InFragment.java 9 Feb 2003 06:28:16 -0000 1.2 --- InFragment.java 16 Mar 2003 01:45:53 -0000 1.3 *************** *** 33,43 **** buf.append(columnName); if ( values.size()>1 ) { buf.append(" in ("); Iterator iter = values.iterator(); while ( iter.hasNext() ) { ! buf.append( iter.next() ); ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } buf.append(StringHelper.CLOSE_PAREN); } else { --- 33,55 ---- buf.append(columnName); if ( values.size()>1 ) { + boolean allowNull = false; buf.append(" in ("); Iterator iter = values.iterator(); while ( iter.hasNext() ) { ! Object value = iter.next(); ! if ( "null".equals(value) ) { ! allowNull = true; ! } ! else { ! buf.append(value); ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); ! } } buf.append(StringHelper.CLOSE_PAREN); + if (allowNull) buf + .insert(0, " is null or ") + .insert(0, columnName) + .insert(0, StringHelper.OPEN_PAREN) + .append(StringHelper.CLOSE_PAREN); } else { |