//***************************************************************************// // 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