package executor

// Unset is a sentinel type for protocol UNSET values.
type Unset struct{}

// UnsetValue marks a parameter value as UNSET (distinct from NULL).
var UnsetValue = &Unset{}

func isUnsetParam(value interface{}) bool {
	return value == UnsetValue
}

func hasUnset(params []interface{}) bool {
	for _, param := range params {
		if isUnsetParam(param) {
			return true
		}
	}
	return false
}
