CalendarDefinitionV3
One row per calendar: what its weekend looks like, which calendars it composes, and the settlement conventions anchored to it. HolidayCalendarV3 (9012) carries the exception dates for the same calendarId. A CALENDAR IS A NAMED RULE SET, NOT A DATE LIST. A weekend mask plus named holiday rules resolve to dates; per-date overrides carry the irregular facts - ad-hoc closures, half days. CALENDARS COMPOSE. A row with members is a UNION of them, derived rather than authored twice; a row with an empty member list is primitive.
METADATA
| Attribute | Value |
|---|---|
| Topic | 9000-product-def-authority |
| MLink Token | ClientLive |
| Product | SRReference |
| accessType | SELECT |
| MLink Endpoint | MLink-Live |
Table Definition
| Field | Type | Key | Default Value | Comment |
|---|---|---|---|---|
| calendarId | VARCHAR(16) | PRI | '' | XNYS XCME XCMEAG USNY EUTA CONT |
| v3Source | enum - V3Source | PRI | 'None' | which source wrote this row the reader takes the highest present |
| description | VARCHAR(64) | '' | ||
| region | VARCHAR(8) | '' | region stripe SRUSSREUSRAP alignment | |
| weekendMask | TINYINT UNSIGNED | 0 | bit per weekday bit0Mon 0x60 SatSun Gulf masks differ | |
| calendarKey_ct | enum - ContentKeyType | 'None' | HolidayCalendarV3 9012 the content this name currently means None not yet published | |
| calendarKey_id | VARCHAR(37) | '' | HolidayCalendarV3 9012 the content this name currently means None not yet published | |
| settleCycleDays | TINYINT UNSIGNED | 0 | regularway settlement T1 US equities T2 FX | |
| rollConvention | enum - BizDayRoll | 'None' | ||
| pendingDelete | enum - YesNo | 'None' | ||
| timestamp | DATETIME(6) | '1900-01-01 00:00:00.000000' | ||
| MemberList | JSON | 'JSON_ARRAY()' |
PRIMARY KEY DEFINITION (Unique)
| Field | Sequence |
|---|---|
| calendarId | 1 |
| v3Source | 2 |
JSON Block (MemberList)
| Field | Type | Comment |
|---|---|---|
| memberCalendarId | enum - memberCalendarId | CalendarDefinition must itself be primitive no nested unions |
SELECT TABLE EXAMPLE QUERY
SELECT *
FROM `SRReference`.`MsgCalendarDefinitionV3`
WHERE
/* Replace with a VARCHAR(16) */
`calendarId` = 'Example_calendarId'
AND
/* Replace with a ENUM('None','HardCode','Bridge','Loader','Manual') */
`v3Source` = 'NONE';
Doc Columns Query
SELECT * FROM SRReference.doccolumns WHERE TABLE_NAME='CalendarDefinitionV3' ORDER BY ordinal_position ASC;