I've recorded my thoughts on this in the attached document
A few notes:
- TimestampAdd has very well-spec'd behavior as part of ODBC. For example the semantics for how to handle adding a second to a date value are clearly defined. I experimented with a few different databases for how this is handled with datetime_plus and didn't find it consistent.
- Transforming a TimestampAdd _expression_ to datetime_plus would require multiplying a 'unit' interval by the _expression_ used for the interval parameter in TimestampAdd. This looks odd in generated SQL, and if you were go to back to timestampadd, the original intent wouldn't be clear.
- There are a few units in timestampadd that are not directly supported by intervals (week, quarter, millennium, etc)
So I wouldn't recommend datetime_plus. I'd recommend a new structure similar to timestampadd, but with features to transform to datetime_plus.