'Left to right direction
hide circle
'avoide "." issues:
set namespaceSeparator none


skinparam class {
  BackgroundColor White
  BackgroundColor<<FN>> Yellow
  BackgroundColor<<FS>> Yellow
  BackgroundColor<<FT>> LightGray
  BackgroundColor<<IF>> Yellow
  BackgroundColor<<IS>> Yellow
  BackgroundColor<<P>> Aqua
  BackgroundColor<<PC>> Aqua
  BackgroundColor<<SN>> Yellow
  BackgroundColor<<SO>> SlateBlue
  BackgroundColor<<TF>> LightGray
  BackgroundColor<<TR>> Tomato
  BackgroundColor<<U>> White
  BackgroundColor<<V>> WhiteSmoke
  BackgroundColor<<X>> Aqua
}


entity config.join_type << V >> {
  * **join_type** : varchar(16)
  --
}

entity repo.RepoObject << U >> {
  * **RepoObject_guid** : uniqueidentifier
  --
}

entity sqlparse.ftv_sqlparse << IF >> {
  --
}

entity sqlparse.ftv_sqlparse_with_some_children << IF >> {
  --
}

entity sqlparse.RepoObject_SqlModules << U >> {
  * **RepoObject_guid** : uniqueidentifier
  --
}

entity sqlparse.RepoObject_SqlModules_10_statement << V >> {
  * **RepoObject_guid** : uniqueidentifier
  --
}

entity sqlparse.RepoObject_SqlModules_20_statement_children << V >> {
  * **RepoObject_guid** : uniqueidentifier
  * **json_key** : nvarchar(4000)
  --
}

entity sqlparse.RepoObject_SqlModules_21_statement_children_helper << V >> {
  * **RepoObject_guid** : uniqueidentifier
  * **json_key** : nvarchar(4000)
  --
}

entity sqlparse.RepoObject_SqlModules_22_identifier_alias_AS << V >> {
  * **RepoObject_guid** : uniqueidentifier
  * **json_key** : nvarchar(4000)
  **RowNumber** : bigint
  --
}

entity sqlparse.RepoObject_SqlModules_29_1_object_is_union << V >> {
  * **RepoObject_guid** : uniqueidentifier
  --
}

entity sqlparse.RepoObject_SqlModules_29_2_object_is_GroupBy << V >> {
  * **RepoObject_guid** : uniqueidentifier
  --
}

entity sqlparse.RepoObject_SqlModules_31_object << V >> {
  * **RepoObject_guid** : uniqueidentifier
  --
}

entity sqlparse.RepoObject_SqlModules_32_ObjectClass << V >> {
  * **RepoObject_guid** : uniqueidentifier
  **class** : nvarchar(500)
  --
}

entity sqlparse.RepoObject_SqlModules_33_ObjectNormalized << V >> {
  * **RepoObject_guid** : uniqueidentifier
  **normalized** : nvarchar(max)
  --
}

entity sqlparse.RepoObject_SqlModules_39_object << V >> {
  * **RepoObject_guid** : uniqueidentifier
  --
}

entity sqlparse.RepoObject_SqlModules_41_from << V >> {
  * **RepoObject_guid** : uniqueidentifier
  * **json_key** : nvarchar(4000)
  --
}

entity sqlparse.RepoObject_SqlModules_41_from_T << U >> {
  * **RepoObject_guid** : uniqueidentifier
  * **json_key** : nvarchar(4000)
  --
}

entity sqlparse.RepoObject_SqlModules_42_from_Identifier << V >> {
  --
}

entity sqlparse.RepoObject_SqlModules_43_from_Identifier << V >> {
  --
}

entity sqlparse.RepoObject_SqlModules_44_from_Identifier_QuoteName << V >> {
  --
}

config.join_type <.. sqlparse.RepoObject_SqlModules_41_from
repo.RepoObject <.. sqlparse.RepoObject_SqlModules_39_object
repo.RepoObject <.. sqlparse.RepoObject_SqlModules_10_statement
sqlparse.ftv_sqlparse <.. sqlparse.RepoObject_SqlModules_22_identifier_alias_AS
sqlparse.ftv_sqlparse_with_some_children <.. sqlparse.RepoObject_SqlModules_20_statement_children
sqlparse.RepoObject_SqlModules <.. sqlparse.RepoObject_SqlModules_10_statement
sqlparse.RepoObject_SqlModules <.. sqlparse.RepoObject_SqlModules_39_object
sqlparse.RepoObject_SqlModules_10_statement <.. sqlparse.RepoObject_SqlModules_20_statement_children
sqlparse.RepoObject_SqlModules_20_statement_children <.. sqlparse.RepoObject_SqlModules_32_ObjectClass
sqlparse.RepoObject_SqlModules_20_statement_children <.. sqlparse.RepoObject_SqlModules_29_2_object_is_GroupBy
sqlparse.RepoObject_SqlModules_20_statement_children <.. sqlparse.RepoObject_SqlModules_21_statement_children_helper
sqlparse.RepoObject_SqlModules_20_statement_children <.. sqlparse.RepoObject_SqlModules_29_1_object_is_union
sqlparse.RepoObject_SqlModules_20_statement_children <.. sqlparse.RepoObject_SqlModules_33_ObjectNormalized
sqlparse.RepoObject_SqlModules_20_statement_children <.. sqlparse.RepoObject_SqlModules_41_from
sqlparse.RepoObject_SqlModules_20_statement_children <.. sqlparse.RepoObject_SqlModules_22_identifier_alias_AS
sqlparse.RepoObject_SqlModules_21_statement_children_helper <.. sqlparse.RepoObject_SqlModules_31_object
sqlparse.RepoObject_SqlModules_22_identifier_alias_AS <.. sqlparse.RepoObject_SqlModules_41_from
sqlparse.RepoObject_SqlModules_29_1_object_is_union <.. sqlparse.RepoObject_SqlModules_42_from_Identifier
sqlparse.RepoObject_SqlModules_29_1_object_is_union <.. sqlparse.RepoObject_SqlModules_39_object
sqlparse.RepoObject_SqlModules_29_2_object_is_GroupBy <.. sqlparse.RepoObject_SqlModules_39_object
sqlparse.RepoObject_SqlModules_31_object <.. sqlparse.RepoObject_SqlModules_39_object
sqlparse.RepoObject_SqlModules_32_ObjectClass <.. sqlparse.RepoObject_SqlModules_39_object
sqlparse.RepoObject_SqlModules_33_ObjectNormalized <.. sqlparse.RepoObject_SqlModules_39_object
sqlparse.RepoObject_SqlModules_39_object <.. sqlparse.RepoObject_SqlModules_41_from
sqlparse.RepoObject_SqlModules_41_from <.. sqlparse.RepoObject_SqlModules_41_from_T
sqlparse.RepoObject_SqlModules_41_from_T <.. sqlparse.RepoObject_SqlModules_42_from_Identifier
sqlparse.RepoObject_SqlModules_42_from_Identifier <.. sqlparse.RepoObject_SqlModules_43_from_Identifier
sqlparse.RepoObject_SqlModules_43_from_Identifier <.. sqlparse.RepoObject_SqlModules_44_from_Identifier_QuoteName
