diff --git a/go.mod b/go.mod index 5d31350a47..767b3a2e7a 100644 --- a/go.mod +++ b/go.mod @@ -153,6 +153,6 @@ require ( yunion.io/x/log v0.0.0-20190629062853-9f6483a7103d yunion.io/x/pkg v0.0.0-20190726033806-b564cfdcc224 yunion.io/x/s3cli v0.0.0-20190812034537-1e65a6651a3e - yunion.io/x/sqlchemy v0.0.0-20190813100902-cfa59aeabbfe + yunion.io/x/sqlchemy v0.0.0-20190817082003-905772542cba yunion.io/x/structarg v0.0.0-20190809075558-115bed041de3 ) diff --git a/go.sum b/go.sum index f070f6692e..08d24a0f2d 100644 --- a/go.sum +++ b/go.sum @@ -587,7 +587,7 @@ yunion.io/x/pkg v0.0.0-20190726033806-b564cfdcc224 h1:dAeUov/CtKcPaOapGVG7+NRqmU yunion.io/x/pkg v0.0.0-20190726033806-b564cfdcc224/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E= yunion.io/x/s3cli v0.0.0-20190812034537-1e65a6651a3e h1:Jk82txl4vaL/MoVV3+GweEcCmLOcqo5XYF8tlBD/1hY= yunion.io/x/s3cli v0.0.0-20190812034537-1e65a6651a3e/go.mod h1:0iFKpOs1y4lbCxeOmq3Xx/0AcQoewVPwj62eRluioEo= -yunion.io/x/sqlchemy v0.0.0-20190813100902-cfa59aeabbfe h1:gslRYwVFAQI29PZL56mfBe+zpgbtIMSL1zSEnBbF1bI= -yunion.io/x/sqlchemy v0.0.0-20190813100902-cfa59aeabbfe/go.mod h1:FTdwPdGhMgh4E+UFXc9klI1Ok34fMuybTT+jLhOaIjI= +yunion.io/x/sqlchemy v0.0.0-20190817082003-905772542cba h1:vPCRA59Kq9Hv24ef/G92sCgqmBYmZyLSVP902EUDimw= +yunion.io/x/sqlchemy v0.0.0-20190817082003-905772542cba/go.mod h1:FTdwPdGhMgh4E+UFXc9klI1Ok34fMuybTT+jLhOaIjI= yunion.io/x/structarg v0.0.0-20190809075558-115bed041de3 h1:bfC8EhXYvyGYldRWlzxiCM39Zfj3s3+zham9mW2h2LE= yunion.io/x/structarg v0.0.0-20190809075558-115bed041de3/go.mod h1:EP6NSv2C0zzqBDTKumv8hPWLb3XvgMZDHQRfyuOrQng= diff --git a/pkg/apis/identity/input.go b/pkg/apis/identity/input.go index 00efbe887e..18712e9234 100644 --- a/pkg/apis/identity/input.go +++ b/pkg/apis/identity/input.go @@ -63,7 +63,7 @@ type SProjectAddUserGroupInput struct { } func (input SProjectAddUserGroupInput) Validate() error { - if len(input.Users) == 0 || len(input.Groups) == 0 { + if len(input.Users) == 0 && len(input.Groups) == 0 { return errors.Error("empty user and group") } if len(input.Roles) == 0 { diff --git a/vendor/modules.txt b/vendor/modules.txt index 3b3b4b7f56..d9488ed116 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -775,6 +775,7 @@ yunion.io/x/pkg/util/regutils yunion.io/x/pkg/util/signalutils yunion.io/x/pkg/util/timeutils yunion.io/x/pkg/util/sets +yunion.io/x/pkg/errors yunion.io/x/pkg/trace yunion.io/x/pkg/util/errors yunion.io/x/pkg/util/netutils @@ -784,7 +785,6 @@ yunion.io/x/pkg/tristate yunion.io/x/pkg/util/stringutils yunion.io/x/pkg/util/fileutils yunion.io/x/pkg/util/osprofile -yunion.io/x/pkg/errors yunion.io/x/pkg/gotypes yunion.io/x/pkg/util/filterclause yunion.io/x/pkg/util/reflectutils @@ -800,7 +800,7 @@ yunion.io/x/pkg/util/runtime yunion.io/x/pkg/util/clock # yunion.io/x/s3cli v0.0.0-20190812034537-1e65a6651a3e yunion.io/x/s3cli -# yunion.io/x/sqlchemy v0.0.0-20190813100902-cfa59aeabbfe +# yunion.io/x/sqlchemy v0.0.0-20190817082003-905772542cba yunion.io/x/sqlchemy # yunion.io/x/structarg v0.0.0-20190809075558-115bed041de3 yunion.io/x/structarg diff --git a/vendor/yunion.io/x/sqlchemy/update.go b/vendor/yunion.io/x/sqlchemy/update.go index d67f9fcebf..d63b460b96 100644 --- a/vendor/yunion.io/x/sqlchemy/update.go +++ b/vendor/yunion.io/x/sqlchemy/update.go @@ -16,6 +16,7 @@ package sqlchemy import ( "bytes" + "database/sql" "fmt" "reflect" "strings" @@ -191,7 +192,11 @@ func (us *SUpdateSession) saveUpdate(dt interface{}) (UpdateDiffs, error) { return nil, err } if aCnt != 1 { - return nil, fmt.Errorf("affected rows %d != 1", aCnt) + if aCnt == 0 { + return nil, sql.ErrNoRows + } else { + return nil, fmt.Errorf("affected rows %d != 1", aCnt) + } } q := us.tableSpec.Query() for k, v := range primaries {