I'm on the fence about having a derived impl for decimal. The precision will correspond to PColumn.getMaxLength(), which leaves only getScale here. Might just be easier to put this in PColumnImpl and write -1 for the non decimal case.