diff --git a/src/ParametricOptInterface.jl b/src/ParametricOptInterface.jl index 167a73fc..d776ce4c 100644 --- a/src/ParametricOptInterface.jl +++ b/src/ParametricOptInterface.jl @@ -478,6 +478,34 @@ function MOI.supports( return MOI.supports(model.optimizer, attr, tp) end +function MOI.set( + model::Optimizer, + attr::MOI.ConstraintName, + c::MOI.ConstraintIndex{MOI.ScalarQuadraticFunction{T},S}, + name::String, +) where {T,S<:MOI.AbstractSet} + if haskey(model.quadratic_added_cache, c) + MOI.set(model.optimizer, attr, model.quadratic_added_cache[c], name) + else + MOI.set(model.optimizer, attr, c, name) + end + return +end + +function MOI.set( + model::Optimizer, + attr::MOI.ConstraintName, + c::MOI.ConstraintIndex{MOI.ScalarAffineFunction{T},S}, + name::String, +) where {T,S<:MOI.AbstractSet} + if haskey(model.affine_added_cache, c) + MOI.set(model.optimizer, attr, model.affine_added_cache[c], name) + else + MOI.set(model.optimizer, attr, c, name) + end + return +end + function MOI.set( model::Optimizer, attr::MOI.ConstraintName, @@ -488,6 +516,30 @@ function MOI.set( return end +function MOI.get( + model::Optimizer, + attr::MOI.ConstraintName, + c::MOI.ConstraintIndex{MOI.ScalarQuadraticFunction{T},S}, +) where {T,S<:MOI.AbstractSet} + if haskey(model.quadratic_added_cache, c) + return MOI.get(model.optimizer, attr, model.quadratic_added_cache[c]) + else + return MOI.get(model.optimizer, attr, c) + end +end + +function MOI.get( + model::Optimizer, + attr::MOI.ConstraintName, + c::MOI.ConstraintIndex{MOI.ScalarAffineFunction{T},S}, +) where {T,S<:MOI.AbstractSet} + if haskey(model.affine_added_cache, c) + return MOI.get(model.optimizer, attr, model.affine_added_cache[c]) + else + return MOI.get(model.optimizer, attr, c) + end +end + function MOI.get( model::Optimizer, attr::MOI.ConstraintName,