On 01/06/2024 04:02, Adriano dos Santos Fernandes wrote:
> My idea is to not block this schema for user and treat system objects
> like now, i.e., they cannot be changed but new objects will be allowed
> in system schema.
I'm not sure I like that. Currently we have no schemas, so when moving
to schemas, we should close off unnecessary stuff I think. Allowing
creation of indexes and triggers on system tables (and as a result,
placing them in the SYSTEM schema), sounds OKish to me.
However, I don't think that should mean users should have free reign to
just create objects in SYSTEM. That sounds like a recipe for disaster,
and/or SYSTEM becoming the de-facto default schema.
> Migration from old versions to separate schemas (including system schema
> plus single user schema) could be complicated, so I'm inclined to make
> gbak restore any objects from non-schema backup into SYSTEM schema.
What would be the problem with migrating things into a default user
schema unless they are a system table, or a user-created object on a
system table (e.g. a trigger or index)?
> There is also PLG$ objects, like security and profiler. Same thing here,
> they will be created in SYSTEM schema.
Have you considered a separate schema for plugins?
> Please note that if there were no backward compatibility involved, my
> opinions on this probably would be different. But I think this is enough
> compromise for an initial version, and tools to "move" from SYSTEM
> schema could be introduced later.
Specifically what backwards compatibility issues would necessitate
having gbak create objects in SYSTEM?
Mark
--
Mark Rotteveel