mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
replace == by HasPrefix for names and improve error message
This commit is contained in:
parent
387aeb78fb
commit
c4923757f1
3 changed files with 7 additions and 4 deletions
3
api.go
3
api.go
|
@ -1088,6 +1088,9 @@ func postContainerLink(srv *Server, version float64, w http.ResponseWriter, r *h
|
|||
}
|
||||
|
||||
if err := srv.runtime.RenameLink(currentName, newName); err != nil {
|
||||
if strings.HasSuffix(err.Error(), "name are not unique") {
|
||||
return fmt.Errorf("Conflict, %s already exists", newName)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
@ -288,7 +288,7 @@ func (db *Database) Delete(name string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
if _, err := conn.Exec("DELETE FROM edge WHERE parent_id = ? AND name = ?;", parent.id, n); err != nil {
|
||||
if _, err := conn.Exec("DELETE FROM edge WHERE parent_id = ? AND name LIKE ?;", parent.id, n+"%"); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
@ -356,7 +356,7 @@ func (db *Database) Rename(currentName, newName string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
rows, err := conn.Exec("UPDATE edge SET name = ? WHERE parent_id = ? AND name = ?;", newEdgeName, parent.id, name)
|
||||
rows, err := conn.Exec("UPDATE edge SET name = ? WHERE parent_id = ? AND name LIKE ?;", newEdgeName, parent.id, name+"%")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -433,7 +433,7 @@ func (db *Database) children(conn *sql.DB, name string, depth int) <-chan WalkMe
|
|||
// Return the entity based on the parent path and name
|
||||
func (db *Database) child(conn *sql.DB, parent *Entity, name string) *Entity {
|
||||
var id string
|
||||
if err := conn.QueryRow("SELECT entity_id FROM edge WHERE parent_id = ? AND name = ?;", parent.id, name).Scan(&id); err != nil {
|
||||
if err := conn.QueryRow("SELECT entity_id FROM edge WHERE parent_id = ? AND name LIKE ?;", parent.id, name+"%").Scan(&id); err != nil {
|
||||
return nil
|
||||
}
|
||||
return &Entity{id}
|
||||
|
|
|
@ -518,7 +518,7 @@ func (runtime *Runtime) RenameLink(oldName, newName string) error {
|
|||
|
||||
// This is not rename but adding a new link for the default name
|
||||
// Strip the leading '/'
|
||||
if entity.ID() == oldName[1:] {
|
||||
if strings.HasPrefix(entity.ID(), oldName[1:]) {
|
||||
_, err := runtime.containerGraph.Set(newName, entity.ID())
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue