Yes, I was thinking to keep it simple for now. Do all intermediate calculations using our PDataType.MAX_PRECISION. For the final calculation, base the scale/precision on the column expression precision/scale.