The code below from Oracle _reduce_tokens() appears to be incorrect. %e is to format day of the month padded with a leading space.
elif token == "%e":
# pad with spaces instead of zeros
value = sa.func.replace(sa.func.to_char(arg, "DD"), "0", " ")
The Oracle code was introduced during the upgrade to ibis 5.1.0. The developer wanted to replace occurrences of '05', '06' in month number as ' 5' and ' 6'. It is not clear if string needs to have a space. If not, the developer could use the format specified 'FMDD' which will not produce '05' and '06', instead '5' and '6'. As the code is currently written, it would appear that day 10 will appear as 1 and likely show as not matching. This needs to be verified and if true an issue needs to be opened.
I suspect it's never mattered because DVT doesn't use the %e format. Still - we should look into it.
The same concern can be found in Db2 _reduce_tokens().
The code below from Oracle
_reduce_tokens()appears to be incorrect.%eis to format day of the month padded with a leading space.The Oracle code was introduced during the upgrade to ibis 5.1.0. The developer wanted to replace occurrences of '05', '06' in month number as ' 5' and ' 6'. It is not clear if string needs to have a space. If not, the developer could use the format specified 'FMDD' which will not produce '05' and '06', instead '5' and '6'. As the code is currently written, it would appear that day
10will appear as1and likely show as not matching. This needs to be verified and if true an issue needs to be opened.I suspect it's never mattered because DVT doesn't use the
%eformat. Still - we should look into it.The same concern can be found in Db2
_reduce_tokens().