MCPcopy
hub / github.com/uber/aresdb / DeleteTable

Method DeleteTable

metastore/disk_metastore.go:563–592  ·  view source on GitHub ↗

DeleteTable deletes a table return ErrTableDoesNotExist if table does not exist

(tableName string)

Source from the content-addressed store, hash-verified

561// return
562// ErrTableDoesNotExist if table does not exist
563func (dm *diskMetaStore) DeleteTable(tableName string) (err error) {
564 dm.writeLock.Lock()
565 defer dm.writeLock.Unlock()
566
567 var existingTables []string
568 dm.Lock()
569 defer func() {
570 dm.Unlock()
571 if dm.tableListWatcher != nil {
572 dm.tableListWatcher <- existingTables
573 <-dm.tableListDone
574 }
575 }()
576
577 existingTables, err = dm.listTables()
578 if err != nil {
579 return utils.StackError(err, "Failed to list tables")
580 }
581
582 index := utils.IndexOfStr(existingTables, tableName)
583 if index < 0 {
584 return common.ErrTableDoesNotExist
585 }
586
587 if err = dm.removeTable(tableName); err != nil {
588 return err
589 }
590 existingTables = append(existingTables[:index], existingTables[index+1:]...)
591 return nil
592}
593
594// AddColumn adds a new column
595// returns

Callers

nothing calls this directly

Calls 6

listTablesMethod · 0.95
removeTableMethod · 0.95
StackErrorFunction · 0.92
IndexOfStrFunction · 0.92
LockMethod · 0.45
UnlockMethod · 0.45

Tested by

no test coverage detected