func (self *CoordinatorImpl) runDeleteQuery(querySpec *parser.QuerySpec, seriesWriter SeriesWriter) error { db := querySpec.Database() if !querySpec.User().IsDbAdmin(db) { return common.NewAuthorizationError("Insufficient permission to write to %s", db) } querySpec.RunAgainstAllServersInShard = true return self.runQuerySpec(querySpec, seriesWriter) }
func (self *CoordinatorImpl) runDeleteQuery(querySpec *parser.QuerySpec, seriesWriter SeriesWriter) error { user := querySpec.User() db := querySpec.Database() if ok, err := self.permissions.AuthorizeDeleteQuery(user, db); !ok { return err } querySpec.RunAgainstAllServersInShard = true return self.runQuerySpec(querySpec, seriesWriter) }
func (self *CoordinatorImpl) runDropSeriesQuery(querySpec *parser.QuerySpec, seriesWriter SeriesWriter) error { user := querySpec.User() db := querySpec.Database() series := querySpec.Query().DropSeriesQuery.GetTableName() if !user.IsClusterAdmin() && !user.IsDbAdmin(db) && !user.HasWriteAccess(series) { return common.NewAuthorizationError("Insufficient permissions to drop series") } querySpec.RunAgainstAllServersInShard = true return self.runQuerySpec(querySpec, seriesWriter) }
func (self *CoordinatorImpl) runDropSeriesQuery(querySpec *parser.QuerySpec, seriesWriter SeriesWriter) error { user := querySpec.User() db := querySpec.Database() series := querySpec.Query().DropSeriesQuery.GetTableName() if ok, err := self.permissions.AuthorizeDropSeries(user, db, series); !ok { return err } querySpec.RunAgainstAllServersInShard = true return self.runQuerySpec(querySpec, seriesWriter) }
func (self *ShardData) createRequest(querySpec *parser.QuerySpec) *p.Request { queryString := querySpec.GetQueryString() user := querySpec.User() userName := user.GetName() database := querySpec.Database() isDbUser := !user.IsClusterAdmin() return &p.Request{ Type: &queryRequest, ShardId: &self.id, Query: &queryString, UserName: &userName, Database: &database, IsDbUser: &isDbUser, } }
func (self *CoordinatorImpl) runDropSeriesQuery(querySpec *parser.QuerySpec, seriesWriter SeriesWriter) error { user := querySpec.User() db := querySpec.Database() series := querySpec.Query().DropSeriesQuery.GetTableName() if ok, err := self.permissions.AuthorizeDropSeries(user, db, series); !ok { return err } defer seriesWriter.Close() fmt.Println("DROP series") err := self.raftServer.DropSeries(db, series) if err != nil { return err } fmt.Println("DROP returning nil") return nil }