private static bool IsExactMatch(IndexMultiKey existing, bool unique, IList <IndexedPropDesc> hashProps, IList <IndexedPropDesc> btreeProps) { if (existing.IsUnique != unique) { return(false); } var keyPropCompare = IndexedPropDesc.Compare(existing.HashIndexedProps, hashProps); return(keyPropCompare && IndexedPropDesc.Compare(existing.RangeIndexedProps, btreeProps)); }
private static bool IsExactMatch( IndexMultiKey existing, bool unique, IList <IndexedPropDesc> hashProps, IList <IndexedPropDesc> btreeProps, AdvancedIndexDesc advancedIndexDesc) { if (existing.IsUnique != unique) { return(false); } if (!IndexedPropDesc.Compare(existing.HashIndexedProps, hashProps)) { return(false); } if (!IndexedPropDesc.Compare(existing.RangeIndexedProps, btreeProps)) { return(false); } if (existing.AdvancedIndexDesc == null) { return(advancedIndexDesc == null); } return(advancedIndexDesc != null && existing.AdvancedIndexDesc.EqualsAdvancedIndex(advancedIndexDesc)); }