I tried on my local mysql query `select timestampadd(YEAR,-1000,'2017-11-29 22:58:58.998');` it looks that the result of mysql is "1017-11-29 22:58:58.998000". I don't know why the results of us are different...
Maybe I could not answer your question, however there are some other info about time in flink you could refer. One is that flink should support time zone  and it seems that flink has julian process function 
------------------ 原始邮件 ------------------
发件人: "Sergey Nuyanzin"<snuyanzin@xxxxxxxxx>;
发送时间: 2018年8月26日(星期天) 上午7:19
主题: Flink tableApi/sql calendar
I have just faced with a question: what calendar is used by Flink
For instance there was a TIMESTAMPADD related issue  with references to
MySql documentation. However there are some contradictions like:
from one side there is a testTimestampAdd in Flink which expects
1017-11-29 after adding -1000 years. From the other side there is MySql
documentation about their calendar  and result of the same query
1017-12-05T22:58:58.998 vs expected by Flink's test 2017-11-29 22:58:58.998
Should it be treated as an issue or just another calendar usage (without
Gregorian cutover e.g.)?