Limitations to schema version interoperability

  • Schemas of different versions cannot coexist in the same catalog.

  • Immediately after upgrading from 3.3 or 3.4 to 3.5, the version of the system schema and all user schemas is either 3000, 3100, 3200, 3400, or 3500. Executing the UPGRADE ALL METADATA command will upgrade all metadata for the system schema and the user schemas to v3500. After the metadata is upgraded to v3500, you cannot create v1200 schemas. However, using the control query default (cqd) command, you can create v3000 schemas in catalogs that do not already contain schemas:

    control query default create_definition_schema_version '3000'

    Similarly, you can use that cqd to create v3100 or v3200 schemas in catalogs that do not already contain schemas.

  • Database relationships cannot cross schema versions.

    For example, a view in a v3000 schema cannot reference a table in a v3500 schema.

    The following types of database objects are able to establish cross schema relationships:

    • Views

    • Materialized Views

    • Triggers

    • RI constraints

    If you attempt to establish cross-schema relationships between schemas of different versions, the attempt will be rejected and an error is generated.

    For example, a trigger created in R3.5 that depends on one or more ExSGs is not understood by older releases of SQL/MX, and therefore cannot reside in R3.3 or lower version schema. This versioning behavior is achieved by setting the OFV of such a trigger to the current MXV which for R3.5 is 3500. To create a trigger in R3.5 that references an ExSG in an existing schema with a lower version, one must first upgrade the metadata for that schema to 3500.