From: <one...@us...> - 2003-03-16 05:59:16
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader In directory sc8-pr-cvs1:/tmp/cvs-serv28144/hibernate/loader Modified Files: CollectionLoader.java OneToManyLoader.java OuterJoinLoader.java Log Message: fixed problems with Sybase where many-to-one id columns appeared more than once Index: CollectionLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/CollectionLoader.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** CollectionLoader.java 1 Feb 2003 00:16:31 -0000 1.9 --- CollectionLoader.java 16 Mar 2003 05:59:11 -0000 1.10 *************** *** 42,46 **** sql = sqlSelect( // SELECT CLAUSE ! selectCollectionString(persister, alias) + ( joins==0 ? "" : ", " + selectString(associations) ), // FROM CLAUSE --- 42,46 ---- sql = sqlSelect( // SELECT CLAUSE ! selectCollectionString(persister, alias, true) + ( joins==0 ? "" : ", " + selectString(associations) ), // FROM CLAUSE Index: OneToManyLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/OneToManyLoader.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** OneToManyLoader.java 1 Feb 2003 00:16:31 -0000 1.16 --- OneToManyLoader.java 16 Mar 2003 05:59:11 -0000 1.17 *************** *** 50,56 **** sql = sqlSelect( // SELECT CLAUSE ! selectCollectionString(collPersister, collAlias) + ! ( joins==0 ? "" : ", " + selectString(associations) ) ! + ", " + selectString( persister, alias, suffixes[joins] ), // FROM CLAUSE --- 50,56 ---- sql = sqlSelect( // SELECT CLAUSE ! selectCollectionString(collPersister, collAlias, joins>0) + ! ( ( collPersister.hasIndex() || joins>0 ) ? ", " : "" ) + ! ( joins==0 ? "" : selectString(associations) + ", " ) + selectString( persister, alias, suffixes[joins] ), // FROM CLAUSE Index: OuterJoinLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/OuterJoinLoader.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** OuterJoinLoader.java 18 Jan 2003 09:01:10 -0000 1.17 --- OuterJoinLoader.java 16 Mar 2003 05:59:11 -0000 1.18 *************** *** 254,271 **** * Generate a list of collection index and element columns */ ! protected static final String selectCollectionString(CollectionPersister persister, String alias) { StringBuffer buf = new StringBuffer(20); ! String[] selectCols = persister.getElementColumnNames(); ! for ( int i=0; i<selectCols.length; i++ ) { ! buf.append(alias) ! .append('.') ! .append( selectCols[i] ); ! if (i!=selectCols.length-1) buf.append(", "); } if ( persister.hasIndex() ) { String[] indexCols = persister.getIndexColumnNames(); for ( int i=0; i<indexCols.length; i++ ) { ! buf.append(", ") ! .append(alias) .append('.') .append( indexCols[i] ); --- 254,273 ---- * Generate a list of collection index and element columns */ ! protected static final String selectCollectionString(CollectionPersister persister, String alias, boolean includeElements) { StringBuffer buf = new StringBuffer(20); ! if (includeElements) { ! String[] selectCols = persister.getElementColumnNames(); ! for ( int i=0; i<selectCols.length; i++ ) { ! buf.append(alias) ! .append('.') ! .append( selectCols[i] ); ! if (i!=selectCols.length-1) buf.append(", "); ! } } if ( persister.hasIndex() ) { String[] indexCols = persister.getIndexColumnNames(); for ( int i=0; i<indexCols.length; i++ ) { ! if (i>0 || includeElements) buf.append(", "); ! buf.append(alias) .append('.') .append( indexCols[i] ); |