From: Richard B. <rb...@us...> - 2004-10-19 02:00:12
|
Update of /cvsroot/jcframework/dotnet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13072 Modified Files: CJoin.vb CMultiRetrieveCriteria.vb CXMLConfigLoader.vb Log Message: Fix problem with joins in MultiRetrieveCriteria (bug #1046405) Index: CMultiRetrieveCriteria.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/CMultiRetrieveCriteria.vb,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- CMultiRetrieveCriteria.vb 18 Oct 2004 00:08:10 -0000 1.15 +++ CMultiRetrieveCriteria.vb 19 Oct 2004 01:59:57 -0000 1.16 @@ -175,7 +175,7 @@ ''' </history> '''----------------------------------------------------------------------------- Public Sub addObjectToJoin(ByVal obj As IPersistableObject, ByVal fromObj As IPersistableObject, ByVal assocName As String) - Dim mapName As String + Dim mapName, sourceMapName As String Dim persobj As IPersistableObject Dim bfound As Boolean = False Dim cm, cm2 As CClassMap @@ -222,9 +222,10 @@ i = m_fromCMaps.Count mapName = "t" & i.ToString m_objectsToJoin.Add(mapName, obj) + sourceMapName = m_joins.GetTableAlias(cm2) m_joins = New CJoin(m_joins, cm, mapName, am) - mapName = "t" & (i - 1).ToString - m_joins.LeftTableAlias = mapName + 'mapName = "t" & (i - 1).ToString + m_joins.LeftTableAlias = sourceMapName cm = cm.SuperClass While Not cm Is Nothing i += 1 Index: CXMLConfigLoader.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/CXMLConfigLoader.vb,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- CXMLConfigLoader.vb 18 Oct 2004 01:36:44 -0000 1.24 +++ CXMLConfigLoader.vb 19 Oct 2004 01:59:57 -0000 1.25 @@ -284,11 +284,20 @@ If ((Not attrClassName Is Nothing) And (Not attrDatabase Is Nothing)) Then ClassMap = New CClassMap ClassMap.Name = attrClassName.Value + If Not attrClassNameSpace Is Nothing Then + ClassMap.ClassNameSpace = attrClassNameSpace.Value + End If If Not attrSuperClassName Is Nothing Then If Not attrSuperClassNameSpace Is Nothing Then ClassMap.SuperClass = m_classMap.Item(attrSuperClassNameSpace.Value & "." & attrSuperClassName.Value) + ClassMap.SuperClassNameSpace = attrSuperClassNameSpace.Value Else - ClassMap.SuperClass = m_classMap.Item(attrSuperClassName.Value) + If Not attrClassNameSpace Is Nothing Then + ClassMap.SuperClass = m_classMap.Item(ClassMap.ClassNameSpace & "." & attrSuperClassName.Value) + ClassMap.SuperClassNameSpace = attrClassNameSpace.Value + Else + ClassMap.SuperClass = m_classMap.Item(attrSuperClassName.Value) + End If End If ClassMap.SuperClass.addChildrenMap(ClassMap) If Not attrSharedValue Is Nothing Then @@ -324,12 +333,6 @@ If Not attrAssemblyPath Is Nothing Then ClassMap.AssemblyPath = attrAssemblyPath.Value End If - If Not attrClassNameSpace Is Nothing Then - ClassMap.ClassNameSpace = attrClassNameSpace.Value - End If - If Not attrSuperClassNameSpace Is Nothing Then - ClassMap.SuperClassNameSpace = attrSuperClassNameSpace.Value - End If If Not attrClassFactory Is Nothing Then ClassMap.IClassFactoryName = attrClassFactory.Value End If Index: CJoin.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/CJoin.vb,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- CJoin.vb 28 Sep 2004 04:18:54 -0000 1.6 +++ CJoin.vb 19 Oct 2004 01:59:57 -0000 1.7 @@ -282,13 +282,15 @@ End If tm = RightSide.Tables.Item(1) s = leftBracket & LeftSide.GetSQLString & " " & db.getClauseStringLeftJoin _ - & " " & db.getClauseStringTableAlias(tm.Name, tm.TableOwner, TableAlias) & " " & db.getClauseStringOn & " " + & " " & db.getClauseStringTableAlias(tm.Name, tm.TableOwner, TableAlias) & " " & db.getClauseStringOn & " " For i = 1 To cm.getReferenceSize If i > 1 Then s = s & " " & db.getClauseStringAnd & " " End If - s = s & cm.getReferenceAttributeMap(i).ColumnMap.getAliasQualifiedName(LeftSide.RootTableAlias) _ - & " = " & cm.getReferenceAttributeMap(i).AttributeMap.ColumnMap.getAliasQualifiedName(TableAlias) + 's = s & cm.getReferenceAttributeMap(i).ColumnMap.getAliasQualifiedName(LeftSide.RootTableAlias) _ + ' & " = " & cm.getReferenceAttributeMap(i).AttributeMap.ColumnMap.getAliasQualifiedName(TableAlias) + s = s & cm.getReferenceAttributeMap(i).ColumnMap.getAliasQualifiedName(LeftTableAlias) _ + & " = " & cm.getReferenceAttributeMap(i).AttributeMap.ColumnMap.getAliasQualifiedName(TableAlias) Next i s = s & rightBracket ElseIf Association Is Nothing Then @@ -318,14 +320,16 @@ End If tm = cm.Tables.Item(1) s = leftBracket & LeftSide.GetSQLString & " " & db.getClauseStringLeftJoin _ - & " " & db.getClauseStringTableAlias(tm.Name, tm.TableOwner, TableAlias) & " " & db.getClauseStringOn & " " + & " " & db.getClauseStringTableAlias(tm.Name, tm.TableOwner, TableAlias) & " " & db.getClauseStringOn & " " For i = 1 To Association.Entries.Count If i > 1 Then s = s & " " & db.getClauseStringAnd & " " End If udaEntry = Association.getEntry(i) - s = s & udaEntry.FromAttrMap.ColumnMap.getAliasQualifiedName(LeftSide.RootTableAlias) & " = " _ - & udaEntry.ToAttrMap.ColumnMap.getAliasQualifiedName(TableAlias) + 's = s & udaEntry.FromAttrMap.ColumnMap.getAliasQualifiedName(LeftSide.RootTableAlias) & " = " _ + '& udaEntry.ToAttrMap.ColumnMap.getAliasQualifiedName(TableAlias) + s = s & udaEntry.FromAttrMap.ColumnMap.getAliasQualifiedName(LeftTableAlias) & " = " _ + & udaEntry.ToAttrMap.ColumnMap.getAliasQualifiedName(TableAlias) Next i s = s & rightBracket End If |