Analyze Db2 version column schemas

Proprietary

Distinguish a Db2-generated row-change timestamp from a timestamp that permits supplied values or has no declared maintenance convention. Require one complete CREATE TABLE with ordinary identifiers, supported CHAR, INTEGER and TIMESTAMP columns and one complete nonnull primary key. Require a nonnull TIMESTAMP version column outside the key. Recognize only the complete GENERATED ALWAYS or GENERATED BY DEFAULT row-change clause. Revalidate the selected source and reject syntax diagnostics, recovered declarations, unknown attributes and extra statements. Bound the source to 65536 characters, 64 columns and 16 key columns. Report the snapshot hash, generation mode and key order without changing source or emitting findings. This does not establish deployed schema state, enforcement, timestamp uniqueness, saved-version provenance, authorization or successful UPDATE handling.

io.moderne.mainframe.security.AnalyzeDb2VersionSchema

Required

Exact repository-relative path of one complete CREATE TABLE snapshot.

Exact unquoted schema and table name.

Exact unquoted column selected for inspection. Its name does not establish its behavior.

mod run . --recipe=io.moderne.mainframe.security.AnalyzeDb2VersionSchema \ -P schemaSourcePath=security/ddl/VSRVALW.ddl \ -P protectedTable=VTEST.GENERATED_ITEM \ -P versionColumn=VERSION_TS

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.