|
From: <one...@us...> - 2003-01-09 09:40:24
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader
In directory sc8-pr-cvs1:/tmp/cvs-serv8251/cirrus/hibernate/loader
Modified Files:
OuterJoinLoader.java
Log Message:
Mark Woon's patch to limit length of aliases
Index: OuterJoinLoader.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/OuterJoinLoader.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** OuterJoinLoader.java 26 Nov 2002 14:47:29 -0000 1.14
--- OuterJoinLoader.java 9 Jan 2003 09:40:19 -0000 1.15
***************
*** 73,77 ****
if ( autoEager( persister.enableJoinedFetch(), etype, session ) ) {
// fetch many-to-many by outerjoin depending value of outer-join in mapping
! walkTree(etype, columns, persister, alias, associations, new HashSet(), session);
}
}
--- 73,77 ----
if ( autoEager( persister.enableJoinedFetch(), etype, session ) ) {
// fetch many-to-many by outerjoin depending value of outer-join in mapping
! walkTree(etype, columns, persister, associations, new HashSet(), session);
}
}
***************
*** 104,108 ****
columns = StringHelper.prefix(
! ( (Loadable) persister ).getIdentifierColumnNames(), //The cast is safe because collections can't contain a 1-to-1
alias + '.'
);
--- 104,108 ----
columns = StringHelper.prefix(
! persister.getIdentifierColumnNames(),
alias + '.'
);
***************
*** 112,116 ****
}
! walkTree(etype, columns, persister, alias, associations, classPersisters, session);
}
}
--- 112,116 ----
}
! walkTree(etype, columns, persister, associations, classPersisters, session);
}
}
***************
*** 139,143 ****
EntityType etype = (EntityType) types[i];
if ( autoEager( act.enableJoinedFetch(i), etype, session ) )
! walkTree(etype, range, persister, alias, associations, classPersisters, session);
}
else if ( types[i].isComponentType() ) {
--- 139,143 ----
EntityType etype = (EntityType) types[i];
if ( autoEager( act.enableJoinedFetch(i), etype, session ) )
! walkTree(etype, range, persister, associations, classPersisters, session);
}
else if ( types[i].isComponentType() ) {
***************
*** 158,162 ****
* Add on association (one-to-one or many-to-one) to a list of associations be fetched by outerjoin (if necessary)
*/
! private void walkTree(EntityType type, String[] columns, Object persister, String alias, List associations, Set classPersisters, SessionFactoryImplementor session) throws MappingException {
Loadable subpersister = (Loadable) session.getPersister( type.getPersistentClass() );
--- 158,162 ----
* Add on association (one-to-one or many-to-one) to a list of associations be fetched by outerjoin (if necessary)
*/
! private void walkTree(EntityType type, String[] columns, Object persister, List associations, Set classPersisters, SessionFactoryImplementor session) throws MappingException {
Loadable subpersister = (Loadable) session.getPersister( type.getPersistentClass() );
***************
*** 222,226 ****
.append( keyCols[j] )
.append(" AS ")
! .append( aliasColumn( keyCols[j], suffix ) );
if ( j != keyCols.length-1 ) buf.append(", ");
}
--- 222,226 ----
.append( keyCols[j] )
.append(" AS ")
! .append( StringHelper.suffix( keyCols[j], suffix ) );
if ( j != keyCols.length-1 ) buf.append(", ");
}
***************
*** 276,306 ****
tableName = StringHelper.unqualify(tableName);
! return aliasCore(tableName.length() <=5 ?
! tableName :
tableName.substring(0, 5),
! Integer.toString(n)
);
- }
-
- protected static String aliasColumn(String columnName, String suffix) {
- return aliasCore(columnName, suffix);
- }
-
- //TODO: refactor! this is a duplicate of a method in the Loader heirarchy
- private static String aliasCore(String name, String suffix) {
-
- char quote = name.charAt(0);
- boolean nameEscaped = Dialect.QUOTE.indexOf(quote) > -1;
-
- if (nameEscaped) name = name.substring(1, name.length()-1);
-
- StringBuffer aliasBuilder = new StringBuffer(name.length());
-
- if (nameEscaped) aliasBuilder.append(quote);
- aliasBuilder.append(name);
- aliasBuilder.append(suffix);
- if (nameEscaped) aliasBuilder.append(quote);
-
- return aliasBuilder.toString();
}
}
--- 276,285 ----
tableName = StringHelper.unqualify(tableName);
! return StringHelper.suffix(
! tableName.length() <=5 ?
! tableName :
tableName.substring(0, 5),
! Integer.toString(n)
);
}
}
|