package org.basex.query.up; import static org.basex.query.util.Err.*; import org.basex.core.User; import org.basex.core.Commands.CmdPerm; import org.basex.query.QueryContext; import org.basex.query.QueryException; import org.basex.query.up.primitives.UpdatePrimitive; /** * The database modifier holds all database updates during a snapshot. * Database permissions are checked to ensure that a user possesses enough * privileges to alter database contents. * * @author BaseX Team 2005-12, BSD License * @author Lukas Kircher */ final class DatabaseModifier extends ContextModifier { @Override void add(final UpdatePrimitive p, final QueryContext ctx) throws QueryException { add(p); // check permissions if(!ctx.context.perm(User.WRITE, p.data.meta)) PERMNO.thrw(p.input, CmdPerm.WRITE); } }