Also, is it okay not to call acl_append() when non-NULL be is given to
backend_startup() ?
I guess it is. As long as backend_startup() is called with NULL when
all
the -regular- databases exist, global ACLs get appended to database
specific ones. The only case of backend_startup() called for a specific
database should be that of special purpose, internal databases like
pcache, so they should not need ACLs. In any case I wonder if it would
be
The internal databases can be used with non-root user although it's not
likely.
I mean: if a database is defined as internal, i.e. it does not belong to
the regular database structure, it is very likely that it is used only by
those who created it (e.g. proxy cache); of course, if one needs to create
a database that is directly visible to regular users, there might be
access control issues. In that case, the creator of the database should
take care of it, or try to make the internal database fit into the
standard, front-end managed infrastructure.
the case to split backend_startup() in backendInfo_startup(BackendInfo
*)
and backendDB_startup(BackendDB *) and call each of them from inside
backend_startup(void) for all regular backends first and for all regular
databases then. This way, we would have the possibility to startup each
special or internal database that we add, and we could even add backends
and start them up separately.