// Equal returns true if both rules are equal
491818
func (d *PortRuleDNS) Equal(o PortRuleDNS) bool {
	return d != nil && d.MatchName == o.MatchName && d.MatchPattern == o.MatchPattern
}
988151
func (o *NumericFiltersOption) Equal(o2 *NumericFiltersOption) bool {
	return o.comp.Equal(&o2.comp)
}
773850
func (o *AdvancedSyntaxOption) Equal(o2 *AdvancedSyntaxOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
787738
func (o *SafeOption) Equal(o2 *SafeOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
323540
func (s Session) Equal(b Session) bool {
	if len(s) != len(b) {
		return false
	}
	for i := range s {
		if !s[i].Equal(b[i]) {
			return false
		}
	}
	return true
}
316218
func (o *MinWordSizefor1TypoOption) Equal(o2 *MinWordSizefor1TypoOption) bool {
	if o2 == nil {
		return o.value == 4
	}
	return o.value == o2.value
}
644534
func (k *PortRuleKafka) Equal(o PortRuleKafka) bool {
	return k.APIVersion == o.APIVersion && k.APIKey == o.APIKey &&
		k.Topic == o.Topic && k.ClientID == o.ClientID && k.Role == o.Role
}
493968
func (o *EnableRulesOption) Equal(o2 *EnableRulesOption) bool {
	if o2 == nil {
		return o.value == true
	}
	return o.value == o2.value
}
794574
func Equal(a, b interface{}) bool {
	if a == nil && b == nil {
		return a == b
	}

	return reflect.DeepEqual(a, b)
}
61100
func (self FloatEqualer) Equal(e Equaler) bool {
	return self.F == e.(FloatEqualer).F
}
370880
func (c *Constant) Equal(b Expression, ctx context.Context) bool {
	y, ok := b.(*Constant)
	if !ok {
		return false
	}
	con, err := c.Value.CompareDatum(ctx.GetSessionVars().StmtCtx, y.Value)
	if err != nil || con != 0 {
		return false
	}
	return true
}
177807
func (o *AroundLatLngViaIPOption) Equal(o2 *AroundLatLngViaIPOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
466954
func (self IntEqualer) Equal(e Equaler) bool {
	return self.I == e.(IntEqualer).I
}
1170926
func (s *State) Equal(o *State) bool {
	return s.Enabled == o.Enabled &&
		s.Generation == o.Generation &&
		s.LastRewind.Equal(o.LastRewind) &&
		s.LastTick.Equal(&o.LastTick)
}
1274687
func (o *PercentileComputationOption) Equal(o2 *PercentileComputationOption) bool {
	if o2 == nil {
		return o.value == true
	}
	return o.value == o2.value
}
115469
func (o *AttributeForDistinctOption) Equal(o2 *AttributeForDistinctOption) bool {
	if o2 == nil {
		return o.value == ""
	}
	return o.value == o2.value
}
541482
func (d DummyEqualer) Equal(u Equaler) bool {
	_, ok := u.(DummyEqualer)
	return ok
}