From: <one...@us...> - 2003-01-18 09:57:39
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql In directory sc8-pr-cvs1:/tmp/cvs-serv8629/sf/hibernate/hql Modified Files: QueryTranslator.java Log Message: fixed some problems with aliases conflicting and outer joins appearing in wrong place Index: QueryTranslator.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql/QueryTranslator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** QueryTranslator.java 18 Jan 2003 09:03:54 -0000 1.6 --- QueryTranslator.java 18 Jan 2003 09:57:36 -0000 1.7 *************** *** 437,441 **** String selectProperties; String selectIdentifiers; ! if ( !isShallowQuery() && size==1 ) { OuterJoinLoader ojl = new OuterJoinLoader( factory.getDialect() ); String name = (String) returnTypes.get(0); --- 437,441 ---- String selectProperties; String selectIdentifiers; ! if ( !isShallowQuery() && returnTypes.size()==1 && typeMap.size()==1 && collections.size()==0 ) { OuterJoinLoader ojl = new OuterJoinLoader( factory.getDialect() ); String name = (String) returnTypes.get(0); *************** *** 446,450 **** String[] ojsuffixes = new String[joins]; ojl.setSuffixed(ojsuffixes); ! for ( int i=0; i<joins; i++ ) ojsuffixes[i] = Integer.toString(i); selectProperties = persister.propertySelectClauseFragment(name, ""); selectIdentifiers = persister.selectIdentifierString(name, ""); --- 446,450 ---- String[] ojsuffixes = new String[joins]; ojl.setSuffixed(ojsuffixes); ! for ( int i=0; i<joins; i++ ) ojsuffixes[i] = Integer.toString(i) + '_'; selectProperties = persister.propertySelectClauseFragment(name, ""); selectIdentifiers = persister.selectIdentifierString(name, ""); *************** *** 457,461 **** suffixes[joins] = ""; for ( int i=0; i<joins; i++ ) { ! suffixes[i] = Integer.toString(i); persisters[i] = (Queryable) ( (OuterJoinableAssociation) associations.get(i) ).subpersister; //TODO: dont like the typecast to Queryable } --- 457,461 ---- suffixes[joins] = ""; for ( int i=0; i<joins; i++ ) { ! suffixes[i] = Integer.toString(i) + '_'; persisters[i] = (Queryable) ( (OuterJoinableAssociation) associations.get(i) ).subpersister; //TODO: dont like the typecast to Queryable } *************** *** 468,472 **** if ( !isName(name) ) throw new QueryException("unknown type: " + name); persisters[i] = getPersisterForName(name); ! suffixes[i] = (size==1) ? "" : Integer.toString(i); } selectProperties = renderPropertiesSelect(); --- 468,472 ---- if ( !isName(name) ) throw new QueryException("unknown type: " + name); persisters[i] = getPersisterForName(name); ! suffixes[i] = (size==1) ? "" : Integer.toString(i) + '_'; } selectProperties = renderPropertiesSelect(); *************** *** 523,527 **** for ( int k=0; k<size; k++ ) { String name = (String) returnTypes.get(k); ! String suffix = size==1 ? "" : Integer.toString(k); buf.append( persisters[k].selectIdentifierString(name, suffix) ); if ( k!=size-1 ) buf.append(", "); --- 523,527 ---- for ( int k=0; k<size; k++ ) { String name = (String) returnTypes.get(k); ! String suffix = size==1 ? "" : Integer.toString(k) + '_'; buf.append( persisters[k].selectIdentifierString(name, suffix) ); if ( k!=size-1 ) buf.append(", "); *************** *** 551,555 **** int size = returnTypes.size(); for ( int k=0; k<size; k++ ) { ! String suffix = (size==1) ? "" : Integer.toString(k); String name = (String) returnTypes.get(k) ; buf.append( persisters[k].propertySelectClauseFragment(name, suffix) ); --- 551,555 ---- int size = returnTypes.size(); for ( int k=0; k<size; k++ ) { ! String suffix = (size==1) ? "" : Integer.toString(k) + '_'; String name = (String) returnTypes.get(k) ; buf.append( persisters[k].propertySelectClauseFragment(name, suffix) ); |