init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,505 @@
|
|||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás összes attribútumát //
|
||||
// tartalmazza. (a rendszerattribútumokat nem generálja le!) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommandColumns(MClass as ENTITY, PREFIX)
|
||||
[loop (ENTITY -> MAttribute as ATTRIBUTE)]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName([ATTRIBUTE.name])] ""[PREFIX][ATTRIBUTE.name]"",
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesCommandColumns([BASECLASS], [PREFIX])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja egy entitás összes név oszlopát, minősített nevekkel. //
|
||||
// (SQL töredék) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadNameColumns(MClass as ENTITY, ENTITYALIAS, PREFIX)
|
||||
[loop (ENTITY -> MAttribute as ATTRIBUTE where GetStereoTypeForAttribute([ATTRIBUTE]) == "DisplayName")]
|
||||
[ConvertNameToSQLTableName([ENTITYALIAS] "_" [ENTITY.id])].[ConvertNameToSQLColumnName([ATTRIBUTE.name])] ""[PREFIX]a[ENTITYALIAS]_[ATTRIBUTE.name]"",
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadNameColumns([BASECLASS], [ENTITYALIAS], [PREFIX])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás összes attribútumát, //
|
||||
// asszociációs partnereinek azonosítóját és neveit tartalmazza. //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDAndNameColumns(MClass as ENTITY, PREFIX)
|
||||
[loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))]
|
||||
[if (HasAssociationClass([CURRENTASSOCIATION]) == "")]
|
||||
[if ([ENDROLE.multiplicity] == "1")]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[GenerateLoadNameColumns([PARTNER], [ENDROLE.id], [PREFIX])]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[GenerateLoadNameColumns([PARTNER], [ENDROLE.id], [PREFIX])]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
[ConvertNameToSQLTableName([PARTNER.name])].ID as [ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[GenerateLoadNameColumns([PARTNER], [ENDROLE.id], [PREFIX])]
|
||||
[else]
|
||||
[ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[GenerateLoadNameColumns([PARTNER], [ENDROLE.id], [PREFIX])]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "1" or [ENDROLE.multiplicity] == "0..1")]
|
||||
[/*-- XXX [GetRoleName([ENDROLE])] ez az asszociáció asszociációs osztállyal rendelkezik, és még nincs megvalósítva, lásd GenerateLoadAllAttributesAndEntityAssociationsIDToEntityState*/]
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
[loop (ENTITY -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as STARTROLE -> MClass as STARTCLASS where (GetStereoType([STARTCLASS]) == "Entity"))]
|
||||
[loop (CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as ENDCLASS where([STARTROLE.id] < [ENDROLE.id] and GetStereoType([ENDCLASS]) == "Entity"))]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))],
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[end loop]
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAssociationIDCommandColumns([BASECLASS])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja az asszociációs partnerek azonosító oszlopait (SQL töredék) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDCommandColumns(MClass as ENTITY)
|
||||
[loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))]
|
||||
[if (HasAssociationClass([CURRENTASSOCIATION]) == "")]
|
||||
[if ([ENDROLE.multiplicity] == "1")]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
[ConvertNameToSQLTableName([PARTNER.name])].ID as [ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[else]
|
||||
[ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "1" or [ENDROLE.multiplicity] == "0..1")]
|
||||
[/*-- XXX [GetRoleName([ENDROLE])] ez az asszociáció asszociációs osztállyal rendelkezik, és még nincs megvalósítva, lásd GenerateLoadAllAttributesAndEntityAssociationsIDToEntityState*/]
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
[loop (ENTITY -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as STARTROLE -> MClass as STARTCLASS where (GetStereoType([STARTCLASS]) == "Entity"))]
|
||||
[loop (CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as ENDCLASS where([STARTROLE.id] < [ENDROLE.id] and GetStereoType([ENDCLASS]) == "Entity"))]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))],
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))],
|
||||
[end loop]
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAssociationIDCommandColumns([BASECLASS])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás lekérdezéséhez //
|
||||
// felsorolja annak tábláit. (join-ok nélkül!) //
|
||||
//***************************************************************************//
|
||||
template GenerateJoinedLoadAllAttributesCommandTables(MClass as ENTITY, MClass as BASE, MAssociationEnd as STARTROLE)
|
||||
inner join [ConvertNameToSQLTableName([ENTITY.name])] on ([ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([BASE.name])].ID) [/*--4*/]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesCommandTablesCore([BASECLASS], [ENTITY])]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás lekérdezéséhez //
|
||||
// felsorolja annak tábláit. (join-ok nélkül!) //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommandTables(MClass as ENTITY)
|
||||
[ConvertNameToSQLTableName([ENTITY.name])]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesCommandTablesCore([BASECLASS], [ENTITY])]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás lekérdezéséhez //
|
||||
// felsorolja annak tábláit. (join-ok nélkül!) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommandTablesCore(MClass as ENTITY, MClass as BASE)
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
inner join [ConvertNameToSQLTableName([ENTITY.name])] on ([ConvertNameToSQLTableName([BASE.name])].ID = [ConvertNameToSQLTableName([ENTITY.name])].ID) [/*--1*/]
|
||||
[GenerateLoadAllAttributesCommandTablesCore([BASECLASS], [ENTITY])]
|
||||
[break]
|
||||
[end loop]
|
||||
[else]
|
||||
inner join [ConvertNameToSQLTableName([ENTITY.name])] on ([ConvertNameToSQLTableName([BASE.name])].ID = [ConvertNameToSQLTableName([ENTITY.name])].ID) [/*--2*/]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja egy entitás asszociációs partner azonosító alapján való //
|
||||
// lekérdezéséhez szükséges kapcsolótáblákat. //
|
||||
// (SQL töredék a from szekcióban) //
|
||||
//***************************************************************************//
|
||||
template GenerateSwitchTablesByAssociation(MClass as ENTITY, MClass as PARTNER, MAssociationEnd as STARTROLE, MAssociationEnd as ENDROLE)
|
||||
[if ([ENTITY.name] != [PARTNER.name])]
|
||||
[if ([ENDROLE.multiplicity] == "1")]
|
||||
[end if]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
[ConvertNameToSQLTableName([PARTNER.name])] T_T_PARTNER,
|
||||
[else]
|
||||
[ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE], [STARTROLE]))] T_T_SWITCH,
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[if (([ENDROLE.multiplicity] == "1..*") or ([ENDROLE.multiplicity] == "*") or ([ENDROLE.multiplicity] == "0..*"))]
|
||||
[if (([STARTROLE.multiplicity] == "1") or ([STARTROLE.multiplicity] == "0..1"))]
|
||||
[ConvertNameToSQLTableName([PARTNER.name])] T_T_PARTNER,
|
||||
[else]
|
||||
[ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE], [STARTROLE]))] T_T_SWITCH,
|
||||
[end if]
|
||||
[end if]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "1" or [ENDROLE.multiplicity] == "0..1")]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1" or [STARTROLE.multiplicity] == "0..1")]
|
||||
[ConvertNameToSQLTableName([PARTNER.name])] T_T_PARTNER,
|
||||
[else]
|
||||
[ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE], [STARTROLE]))] T_T_SWITCH,
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami összekapcsolja az entitás //
|
||||
// asszociációinak tábláit, az entitás táblái nélkül. //
|
||||
// (from szekció az SQL-ben) //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDAndNameColumnsCommandJoin(MClass as ENTITY)
|
||||
[GenerateLoadAllAssociationIDAndNameColumnsCommandJoinCore([ENTITY], [ENTITY])]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami összekapcsolja az entitás //
|
||||
// asszociációinak tábláit, az entitás táblái nélkül. //
|
||||
// (from szekció az SQL-ben) //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDAndNameColumnsCommandJoinCore(MClass as ENTITY, MClass as MASTER)
|
||||
[loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))]
|
||||
[if (HasAssociationClass([CURRENTASSOCIATION]) == "")]
|
||||
[if ([ENDROLE.multiplicity] == "1")]
|
||||
[GenerateLoadNameColumnsCommandJoinCore([PARTNER], [MASTER], [STARTROLE], [ENDROLE])]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
[GenerateLoadNameColumnsCommandJoinCore([PARTNER], [MASTER], [STARTROLE], [ENDROLE])]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
left join [ConvertNameToSQLTableName([PARTNER.name])] on [ConvertNameToSQLTableName([PARTNER.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([MASTER.name])].ID
|
||||
[GenerateLoadNameColumnsCommandJoinCore([PARTNER], [MASTER], [STARTROLE], [ENDROLE])]
|
||||
[else]
|
||||
left join [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))] on [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([MASTER.name])].ID
|
||||
[GenerateLoadNameColumnsCommandJoinCore([PARTNER], [MASTER], [STARTROLE], [ENDROLE])]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAssociationIDCommandJoinCore([BASECLASS], [MASTER])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja az asszociációs partnerek tábláinak join-jait. (SQL töredék) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDCommandJoinCore(MClass as ENTITY, MClass as MASTER)
|
||||
[loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))]
|
||||
[if (HasAssociationClass([CURRENTASSOCIATION]) == "")]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
left join [ConvertNameToSQLTableName([PARTNER.name])] on [ConvertNameToSQLTableName([PARTNER.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([MASTER.name])].ID
|
||||
[else]
|
||||
left join [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))] on [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([MASTER.name])].ID
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAssociationIDCommandJoinCore([BASECLASS], [MASTER])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami összekapcsolja az entitás //
|
||||
// asszociációinak tábláit, az entitás táblái nélkül. Csak azokat az //
|
||||
// asszociációs partner táblákat kapcsolja hozzá, amelyek rendelkeznek név //
|
||||
// attribútummal! //
|
||||
// (from szekció az SQL-ben) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadNameColumnsCommandJoinCore(MClass as PARTNER, MClass as MASTER, MAssociationEnd as STARTROLE, MAssociationEnd as ENDROLE)
|
||||
[if (HasNameAttribures([PARTNER]) == "True")]
|
||||
[if ([ENDROLE.multiplicity] == "1")]
|
||||
inner join [ConvertNameToSQLTableName([PARTNER.name])] [ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])] on [ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])].ID = [ConvertNameToSQLTableName([MASTER.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
left join [ConvertNameToSQLTableName([PARTNER.name])] [ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])] on [ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])].ID = [ConvertNameToSQLTableName([MASTER.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
left join [ConvertNameToSQLTableName([PARTNER.name])] [ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])] on [ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([MASTER.name])].ID
|
||||
[else]
|
||||
left join [ConvertNameToSQLTableName([PARTNER.name])] [ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])] on
|
||||
([ConvertNameToSQLTableName([ENDROLE.id] "_" [PARTNER.id])].ID = [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))])
|
||||
and
|
||||
([ConvertNameToSQLTableName([MASTER.name])].ID = [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))])
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[if (IsMasterEntity([PARTNER]) == "false")]
|
||||
[loop (PARTNER -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadNameColumnsCommandJoinCore([BASECLASS], [MASTER], [STARTROLE], [ENDROLE])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
//***************************************************************************//
|
||||
// A where szekciót generálja le egy SQL-hez, ami egy adott entitást kérdez //
|
||||
// le asszociációs partnerek alapján. //
|
||||
//***************************************************************************//
|
||||
template GenerateAssociationJoinByAssociationWhere(MClass as ENTITY, MClass as PARTNER, MAssociationEnd as STARTROLE, MAssociationEnd as ENDROLE)
|
||||
and
|
||||
[if ([ENTITY.name] != [PARTNER.name])]
|
||||
[if ([ENDROLE.multiplicity] == "1")]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
[end if]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].ID = T_T_PARTNER.[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))])
|
||||
and
|
||||
(T_T_PARTNER.ID = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
[else]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].ID = T_T_SWITCH.[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))])
|
||||
and
|
||||
(T_T_SWITCH.[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[if (([ENDROLE.multiplicity] == "1..*") or ([ENDROLE.multiplicity] == "*") or ([ENDROLE.multiplicity] == "0..*"))]
|
||||
[if (([STARTROLE.multiplicity] == "1") or ([STARTROLE.multiplicity] == "0..1"))]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].ID = T_T_PARTNER.[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))])
|
||||
and
|
||||
(T_T_PARTNER.ID = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
[else]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].ID = T_T_SWITCH.[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))])
|
||||
and
|
||||
(T_T_SWITCH.[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
[end if]
|
||||
[end if]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "1" or [ENDROLE.multiplicity] == "0..1")]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1" or [STARTROLE.multiplicity] == "0..1")]
|
||||
(T_T_PARTNER.ID = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
and
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].ID = T_T_PARTNER.[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))])
|
||||
[else]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].ID = T_T_SWITCH.[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))])
|
||||
and
|
||||
(T_T_SWITCH.[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Entitás verziójának felhozása //
|
||||
//***************************************************************************//
|
||||
template GenerateGetSerialCommand(MClass as ENTITY)
|
||||
select
|
||||
[GenerateSerialColumn([ENTITY])]
|
||||
from
|
||||
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
||||
where
|
||||
[if (IsMasterEntity([ENTITY]) == "true")]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].SERIAL >= 0)
|
||||
[else]
|
||||
[end if]
|
||||
and ([ConvertNameToSQLTableName([ENTITY.name])].ID = :[ConvertNameToCommandParameterName("ID")])
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt a teljes SQL-t helyőrzőkkel, ami egy entitást tölt fel //
|
||||
// az asszociációs partnereinek azonosítóival együtt. //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesAndEntityAssociationsIDCommand(MClass as ENTITY, MAXLASTCHANGEDONLY)
|
||||
select /*+ {QID}{FID} {HINT} */
|
||||
[if ([MAXLASTCHANGEDONLY] == "True")]
|
||||
GETDATE(), COUNT(*)
|
||||
[else]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].ID ""ID"",
|
||||
[GenerateLoadAllAttributesCommandColumns([ENTITY], "")]
|
||||
[GenerateLoadAllAssociationIDAndNameColumns([ENTITY], "")]
|
||||
[GenerateSerialColumn([ENTITY])]
|
||||
[end if]
|
||||
from
|
||||
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
||||
[GenerateLoadAllAssociationIDAndNameColumnsCommandJoin([ENTITY])]
|
||||
{INNERFILTERS}
|
||||
where
|
||||
([ConvertNameToSQLTableName(GetMasterEntityNameOf([ENTITY]))].SERIAL >= 0)
|
||||
[if (IsMasterEntity([ENTITY]) == "true")]
|
||||
[else]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Entitás feltöltése partner alapján (SQL töredék) //
|
||||
//***************************************************************************//
|
||||
/* nem használt
|
||||
template GenerateLoadAllAttributesAndEntityAssociationsIDByAssociationCommand(MClass as ENTITY, MClass as PARTNER, MAssociationEnd as STARTROLE, MAssociationEnd as ENDROLE, MAXLASTCHANGEDONLY)
|
||||
select
|
||||
[if ([MAXLASTCHANGEDONLY] == "True")]
|
||||
GETDATE(), COUNT(*)
|
||||
[else]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].ID ""ID"",
|
||||
[GenerateLoadAllAttributesCommandColumns([ENTITY], "")]
|
||||
[GenerateLoadAllAssociationIDAndNameColumns([ENTITY], "")]
|
||||
[GenerateSerialColumn([ENTITY])]
|
||||
[end if]
|
||||
from
|
||||
[GenerateSwitchTablesByAssociation([ENTITY], [PARTNER], [STARTROLE], [ENDROLE])]
|
||||
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
||||
[GenerateLoadAllAssociationIDAndNameColumnsCommandJoin([ENTITY])]
|
||||
{INNERFILTERS}
|
||||
where
|
||||
([ConvertNameToSQLTableName(GetMasterEntityNameOf([ENTITY]))].SERIAL >= 0)
|
||||
[if (IsMasterEntity([ENTITY]) == "true")]
|
||||
[else]
|
||||
[end if]
|
||||
[GenerateAssociationJoinByAssociationWhere([ENTITY], [PARTNER], [STARTROLE], [ENDROLE])]
|
||||
end template
|
||||
*/
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Entitás feltöltése partner alapján asszociációs osztállyal együtt //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesAndEntityAssociationsIDByAssociationCommandWithAssociationClass(MClass as ENTITY, MClass as PARTNER, MClass as ASSOCIATIONCLASS, MAssociationEnd as STARTROLE, MAssociationEnd as ENDROLE, MAXLASTCHANGEDONLY)
|
||||
select /*+ {QID}{FID} {HINT} */
|
||||
[if ([MAXLASTCHANGEDONLY] == "True")]
|
||||
GETDATE(), COUNT(*)
|
||||
[else]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].ID ""ID"",
|
||||
[GenerateLoadAllAttributesCommandColumns([ENTITY], "")]
|
||||
[GenerateLoadAllAssociationIDAndNameColumns([ENTITY], "")]
|
||||
[GenerateSerialColumn([ENTITY])],
|
||||
|
||||
[ConvertNameToSQLTableName([ASSOCIATIONCLASS.name])].ID ""_ID"",
|
||||
[GenerateLoadAllAttributesCommandColumns([ASSOCIATIONCLASS], "_")]
|
||||
[GenerateLoadAllAssociationIDAndNameColumns([ASSOCIATIONCLASS], "_")]
|
||||
[GenerateSerialColumn([ASSOCIATIONCLASS])]
|
||||
[end if]
|
||||
from
|
||||
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
||||
[GenerateLoadAllAssociationIDAndNameColumnsCommandJoin([ENTITY])]
|
||||
[GenerateJoinedLoadAllAttributesCommandTables([ASSOCIATIONCLASS], [ENTITY], [STARTROLE])]
|
||||
[GenerateLoadAllAssociationIDAndNameColumnsCommandJoin([ASSOCIATIONCLASS])]
|
||||
{INNERFILTERS}
|
||||
where
|
||||
([ConvertNameToSQLTableName(GetMasterEntityNameOf([ENTITY]))].SERIAL >= 0)
|
||||
[if (IsMasterEntity([ENTITY]) == "true")]
|
||||
[else]
|
||||
[end if]
|
||||
and
|
||||
([ConvertNameToSQLTableName(GetMasterEntityNameOf([ASSOCIATIONCLASS]))].SERIAL >= 0)
|
||||
[if (IsMasterEntity([ASSOCIATIONCLASS]) == "true")]
|
||||
[else]
|
||||
[end if]
|
||||
and
|
||||
([ConvertNameToSQLTableName([ASSOCIATIONCLASS.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))])
|
||||
end template
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue