Reorganizing Changed Array Definitions (PAR 68306, PAR 68349)
Reorganization now supports some changes to the definition of an array.
Changing the definition of an array may require all instances of that dictionary, both exclusive and shared, to be reorganized.
You can change the definition for an array only if the membership type is one of Binary, Decimal, String, or StringUtf8.
The supported changes are:
-
Decreasing the maximum length of an array definition with membership Binary, String, or StringUtf8. All values must be less than or equal to the new maximum length. Values that are longer than a decreased maximum length cause the reorganization process to fail and an exception to be raised.
-
Decreasing the precision or scale factor of an array definition with membership Decimal. All values must be less than or equal to the new precision. Values that are longer than a decreased precision cause the reorganization process to fail and an exception to be raised.
-
Enabling scaling of entries of an array definition with membership Decimal.
A reorganization is not required if the:
-
Maximum length of an array with membership Binary, String, or StringUtf8 is increased.
-
Precision or scale factor of an array with membership Decimal is increased, or if scaling of entries is disabled.