rescale the bigdecimal. Make sure we do not lost any digits before decimal point and round_down if decimal part does not fit. This is what Derby is doing.