Database partition compatibility is defined
between the base data types of corresponding columns of distribution
keys. Database partition-compatible data types have the property that
two variables, one of each type, with the same value, are mapped to
the same distribution map index by the same database partitioning
function.
Table 1 shows the compatibility
of data types in database partitions.
Database partition compatibility has the following characteristics:
- Internal formats are used for DATE, TIME, and TIMESTAMP.
They are not compatible with each other, and none are compatible with
character or graphic data types.
- Partition compatibility is not affected by the nullability
of a column.
- Partition compatibility is affected by collation.
Locale-sensitive UCA-based collations require an exact match in collation,
except that the strength (S) attribute of the collation is ignored.
All other collations are considered equivalent for the purposes of
determining partition compatibility.
- Character columns defined with FOR BIT DATA are only
compatible with character columns without FOR BIT DATA when a collation
other than a locale-sensitive UCA-based collation is used.
- Null values of compatible data types are treated identically.
Different results might be produced for null values of
non-compatible data types.
- Base data type of the UDT is used to analyze database partition
compatibility.
- Timestamps of the same value in the distribution
key are treated identically, even if their timestamp precisions differ.
- Decimals of the same value in the distribution key are treated
identically, even if their scale and precision differ.
- Trailing blanks in character strings (CHAR, VARCHAR, GRAPHIC or
VARGRAPHIC) are ignored by the system-provided hashing function.
- When a locale-sensitive UCA-based collation is used,
CHAR, VARCHAR, GRAPHIC, and VARGRAPHIC are compatible data types.
When other collations are used, CHAR and VARCHAR are compatible types
and GRAPHIC and VARGRAPHIC are compatible types, but CHAR and VARCHAR
are not compatible types with GRAPHIC and VARGRAPHIC. CHAR or VARCHAR
of different lengths are compatible data types.
- DECFLOAT values that are equal are treated identically even if
their precision differs. DECFLOAT values that are numerically equal
are treated identically even if they have a different number of significant
digits.
- Data types that are not supported as part of a
distribution key are not applicable for database partition compatibility.
This includes columns whose data type is BLOB, CLOB, DBCLOB, XML,
distinct type based on any of these data types, or structured type.
Table 1. Database
Partition CompatibilitiesOperands |
Binary Integer |
Decimal Number |
Floating- point |
Decimal Floating-point |
Character String |
Graphic String |
Date |
Time |
Time- stamp |
Distinct Type |
Binary Integer |
Yes |
No |
No |
No |
No |
No |
No |
No |
No |
1 |
Decimal Number |
No |
Yes |
No |
No |
No |
No |
No |
No |
No |
1 |
Floating-point |
No |
No |
Yes |
No |
No |
No |
No |
No |
No |
1 |
Decimal Floating-point |
No |
No |
No |
Yes |
No |
No |
No |
No |
No |
1 |
Character String |
No |
No |
No |
No |
Yes2 |
2, 3 |
No |
No |
No |
1 |
Graphic String |
No |
No |
No |
No |
2, 3 |
Yes2 |
No |
No |
No |
1 |
Date |
No |
No |
No |
No |
No |
No |
Yes |
No |
No |
1 |
Time |
No |
No |
No |
No |
No |
No |
No |
Yes |
No |
1 |
Timestamp |
No |
No |
No |
No |
No |
No |
No |
No |
Yes |
1 |
Distinct Type |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Note:
- 1
- A distinct type value is database partition compatible
with the source data type of the distinct type or with any other distinct
type with the same source data type. The source data type of the distinct
type must be a data type that is supported as part of a distribution
key. A user-defined distinct type (UDT) value is database partition
compatible with the source type of the UDT or any other UDT with a
database partition compatible source type. A distinct type cannot
be based on BLOB, CLOB, DBCLOB, or XML.
- 2
- Character and graphic string types are compatible
when they have compatible collations.
- 3
- Character and graphic string types are compatible
when a locale-sensitive UCA-based collation is in effect. Otherwise,
they are not compatible types.
|