It's bad enough that we have yet another place where we have to know about inline size limits. We should at least push this knowledge of the 4-byte scale factor down into the getVariableColumnSize even if it means having to pass ctype and inBytes into that function. Some day, we could decide that VARCHAR and VARBINARY should have different inline size thresholds not related by the factor of 4. 

In general, "4" is used in too many places in both the java and C++ without explanation -- it should be a named constant somewhere like MAX_BYTES_PER_UTF8_CHARACTER in both environments.