public/getddl answered one fixed Postgres-flavoured body for every request - DC_JSLIB.MPE_X_TEST whatever dataset was asked for - which is the last read path the client calls where the mock invented its answer. It now builds the SAS-flavour DDL from the table file, the way mp_ds2ddl builds it from dictionary.columns and dictionary.indexes: the header, the create table with each column's type, format, NOT NULL and label, and the unique index. The list-output spacing was derived from the estate's own answers and reproduces them byte for byte for all forty control tables. Recorded as public/getddl/mpe_tables, so a mock change that alters the text fails the gate. The header credits a user and a timestamp, so the projection masks both - a user id is not something to publish, and the comparison is about the DDL. TSQL and PGSQL are not generated yet: a caller asking for one gets the SAS text, and the README says so rather than inventing a second dialect without a recording to check it against.
19 lines
1.3 KiB
JSON
19 lines
1.3 KiB
JSON
{
|
|
"_meta": {
|
|
"scenario": "mpe_tables",
|
|
"service": "public/getddl",
|
|
"estate": "synthetic",
|
|
"targetType": "SASJS",
|
|
"sas": "unknown",
|
|
"dc": "7.22.0",
|
|
"captured": "2026-11-07",
|
|
"tls": "verified",
|
|
"members": [
|
|
"text"
|
|
]
|
|
},
|
|
"body": {
|
|
"text": "/* DDL generated by <USER> on <DATETIME> */\n/* SAS Flavour DDL for <LIBREF>.MPE_TABLES */\nproc sql;\ncreate table <LIBREF>.MPE_TABLES(\n tx_from num format=DATETIME19.3 not null \n ,tx_to num format=DATETIME19.3 not null \n ,libref char(8) not null \n ,dsn char(32) not null \n ,num_of_approvals_required num \n ,loadtype char(12) \n ,buskey char(1000) \n ,var_txfrom char(32) \n ,var_txto char(32) \n ,var_busfrom char(32) \n ,var_busto char(32) \n ,var_processed char(32) \n ,close_vars char(500) \n ,pre_edit_hook char(200) \n ,post_edit_hook char(200) \n ,pre_approve_hook char(200) \n ,post_approve_hook char(200) \n ,signoff_cols char(500) \n ,signoff_hook char(200) \n ,notes char(1000) \n ,rk_underlying char(1000) \n ,audit_libds char(41) \n);\nCREATE UNIQUE INDEX pk_mpe_tables ON <LIBREF>.MPE_TABLES (\n tx_to\n ,libref\n ,dsn\n);\n"
|
|
}
|
|
}
|