You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
753 B

  1. package arangodb
  2. import (
  3. "context"
  4. "github.com/chrislusf/seaweedfs/weed/filer"
  5. "time"
  6. "github.com/chrislusf/seaweedfs/weed/glog"
  7. )
  8. var _ filer.BucketAware = (*ArangodbStore)(nil)
  9. func (store *ArangodbStore) OnBucketCreation(bucket string) {
  10. //nothing needs to be done
  11. }
  12. func (store *ArangodbStore) OnBucketDeletion(bucket string) {
  13. timeout, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  14. defer cancel()
  15. cur, err := store.database.Query(timeout, `
  16. for d in files
  17. filter d.bucket == @bucket
  18. remove d in files`, map[string]interface{}{"bucket": bucket})
  19. if err != nil {
  20. glog.V(0).Infof("bucket delete %s : %v", bucket, err)
  21. }
  22. defer cur.Close()
  23. }
  24. func (store *ArangodbStore) CanDropWholeBucket() bool {
  25. return true
  26. }