Maybe it's me but I find this a bit confusing. With that addition it is not returning the "raw value" any more. It will be impossible to distinguish between the empty string and null. (Oracle does that and I always hated it.) Didn't we dropped exactly that from other places?