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 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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -288,7 +288,7 @@ func (db *Database) Delete(name string) error {
|
||||||
return err
|
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 err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -356,7 +356,7 @@ func (db *Database) Rename(currentName, newName string) error {
|
||||||
return err
|
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 {
|
if err != nil {
|
||||||
return err
|
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
|
// Return the entity based on the parent path and name
|
||||||
func (db *Database) child(conn *sql.DB, parent *Entity, name string) *Entity {
|
func (db *Database) child(conn *sql.DB, parent *Entity, name string) *Entity {
|
||||||
var id string
|
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 nil
|
||||||
}
|
}
|
||||||
return &Entity{id}
|
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
|
// This is not rename but adding a new link for the default name
|
||||||
// Strip the leading '/'
|
// Strip the leading '/'
|
||||||
if entity.ID() == oldName[1:] {
|
if strings.HasPrefix(entity.ID(), oldName[1:]) {
|
||||||
_, err := runtime.containerGraph.Set(newName, entity.ID())
|
_, err := runtime.containerGraph.Set(newName, entity.ID())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue