Conventions spell calendars in a vocabulary ORE refuses
Table of Contents
This page is a capture in the inbox bucket of the product backlog — a pre-sprint idea, not yet pulled into a sprint as a story.
1. What
A convention row holds a calendar, and two vocabularies spell one: refdata.calendars
holds codes such as UnitedStates.Settlement, UnitedStates.SOFR and
UnitedKingdom.Settlement, while ORE reads its own calendar names, US,
US-SOFR, TARGET, and refuses everything else. The convention populate
scripts use the first vocabulary. ORE's parseCalendar refuses all three of
those dotted spellings, so a convention exported as it stands names a calendar
the engine cannot build.
2. Why
The index conventions were mined from the engine and now carry ORE's calendar
names, which is what ores_refdata_validate_calendar_fn reads and the parser
accepts. The currency pair conventions were not:
refdata_currency_pair_convention_calendars_populate.sql and its seed twin
still hold UnitedStates.Settlement and UnitedKingdom.Settlement.
Two more files still hold the first vocabulary for the same reason:
refdata_overnight_index_conventions_populate.sql, whose thirteen remaining
rows keep the synthetic feeds' families and their refdata.calendars codes
(TARGET, Japan), and refdata_currency_pair_convention_calendars_seed_populate.sql.
Nothing translates between the two vocabularies today. Either the seed moves
onto ORE's names, as the index conventions did, or the export translates, and
that choice is what this capture is for. The oracle is cheap: the
code_catalogue harness tool reads a code and prints the name ORE reports for
it, so the inverse table can be derived rather than written by hand.
3. References
projects/ores.sql/populate/refdata/refdata_currency_pair_convention_calendars_populate.sqlprojects/ores.sql/populate/refdata/refdata_currency_pair_convention_calendars_seed_populate.sqlprojects/ores.sql/populate/refdata/refdata_calendar_names_validate_fn_create.sqlexternal/ore/tools/datum_catalogue/code_catalogue.cpp- Seed ORE's built-in index conventions — where the same fault was found and fixed for the index conventions.