Release 2.4.1.202306070000


DateVersion

 

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

  1. Generated table/column names play a crucial role in internally generated SQL statements and directly impact the size of these statements.
  2. 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.
  3. 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.
  4. 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:

  1. "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.
  2. "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:

  1. 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.
  2. 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.
  3. 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-IDComponentTypeDescription
TQLPROD-2723A-StackFeatureConfigurable Internal Relational Database name and table creation from TQL Models