Release 2.4.1.202306070000
Date | Version |
---|---|
| 2.4.1.202306070000 |
Introduction
Version 2.4.1.202306070000 introduces a new boolean configuration parameter called "sff.mdl.GuidNames". This feature allows for the customization of generated database (DB) schema GUIDs by shortening them to 8 characters and appending the corresponding model or attribute name. This enables the exposure of these names to third-party DB management tools and human DB administrators.
Important Considerations
- Generated table/column names play a crucial role in internally generated SQL statements and directly impact the size of these statements.
- Complex scenarios have demonstrated that generated SQL statements can exceed 1 MB in size. Enabling guid names or increasing the generated guid length can further increase the length of these SQL statements.
- Since the same model/attribute names can exist in different namespaces, be combined through multiple inheritances, or be defined via attribute redirections, each generated DB name must be unique within the schema.
- It is not possible to use human-defined names in the generated schema due to uniqueness requirements and challenges associated with shared tables and redirected attributes. Only the first model/attribute name will be visible in such cases.
Configurable Parameters
In addition to the "sff.mdl.GuidNames" parameter, two companion config parameters have become configurable:
"sff.mdl.MaxGuid":
- Controls the length of generated schema GUIDs in the regular (guid names disabled) case.
- Default value: 16 characters.
- Offers a balanced compromise between avoiding duplicates in schema generation and the length of generated SQL statements.
"sff.mdl.MinGuid":
- Controls the length of generated schema GUIDs when guid names are enabled.
- Default value: 8 characters.
- Generated table/column names will be a combination of the generated guid and the schema-defined name (e.g., "<guid>_<name>"), where the length of the <guid> part is determined by the MinGuid parameter.
Notes:
- It is strongly advised not to set the MinGuid parameter to a value of less than 8 characters, as this may lead to non-unique model/attribute names and unexpected behaviors.
- In the unlikely event of violating the unique name requirements during schema generation (i.e., "GUID override" exceptions), the situation can be resolved by increasing the MinGuid length.
- It is generally recommended to maintain the default settings for the configurable parameters, except in cases where the DB schema size is small and there is a need to reduce the size of generated SQL statements due to severe CPU/RAM resource limitations.
A-Stack 2.4.1.202306070000 Jira List
JIRA-ID | Component | Type | Description |
TQLPROD-2723 | A-Stack | Feature | Configurable Internal Relational Database name and table creation from TQL Models |