Something we could consider is allowing "VARCHAR(1048576)" (or any other value > 256K) but treat it as BYTES with a WARNING: "VARCHAR sizes greater than ... will be enforced as byte counts rather than UTF8 character counts. To eliminate this warning, specify "VARCHAR(%d BYTES)". Maybe we should invite opinions on this idea.