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 *Shard) executeDropSeriesQuery(querySpec *parser.QuerySpec, processor cluster.QueryProcessor) error { database := querySpec.Database() series := querySpec.Query().DropSeriesQuery.GetTableName() err := self.dropSeries(database, series) if err != nil { return err } self.db.Compact() return nil }
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 *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 }
func (self *ClusterConfiguration) GetShards(querySpec *parser.QuerySpec) []*ShardData { self.shardsByIdLock.RLock() defer self.shardsByIdLock.RUnlock() if querySpec.IsDropSeriesQuery() { seriesName := querySpec.Query().DropSeriesQuery.GetTableName() if seriesName[0] < FIRST_LOWER_CASE_CHARACTER { return self.longTermShards } return self.shortTermShards } shouldQueryShortTerm, shouldQueryLongTerm := querySpec.ShouldQueryShortTermAndLongTerm() if shouldQueryLongTerm && shouldQueryShortTerm { shards := make([]*ShardData, 0) shards = append(shards, self.getShardRange(querySpec, self.shortTermShards)...) shards = append(shards, self.getShardRange(querySpec, self.longTermShards)...) if querySpec.IsAscending() { SortShardsByTimeAscending(shards) } else { SortShardsByTimeDescending(shards) } return shards } var shards []*ShardData if shouldQueryLongTerm { shards = self.getShardRange(querySpec, self.longTermShards) } else { shards = self.getShardRange(querySpec, self.shortTermShards) } if querySpec.IsAscending() { newShards := append([]*ShardData{}, shards...) SortShardsByTimeAscending(newShards) return newShards } return shards }
func (self *LevelDbShard) executeDropSeriesQuery(querySpec *parser.QuerySpec, processor cluster.QueryProcessor) error { database := querySpec.Database() series := querySpec.Query().DropSeriesQuery.GetTableName() return self.dropSeries(database, series) }