1) Schema is always present and is never dropped
2) If CacheConfiguration.sqlSchema is not specified explicitly, cache should reside in default schema.
3) There should be a flag on cache configuration to allow fallback to previous behavior, when cache existed in separate schema equal to it's name.
4) CREATE TABLE can only create objects in default schema. Throw exception otherwise. That is, this is OK:
And this is not:
Default schema name should be public. This is well-known name of default schema, and moreover it already exists in H2.