public Pair <IndexMultiKey, EventTable> GetFireAndForgetDesc( ISet <String> keysAvailable, ISet <String> rangesAvailable) { IList <VirtualDataWindowLookupFieldDesc> hashFields = new List <VirtualDataWindowLookupFieldDesc>(); IList <IndexedPropDesc> hashIndexedFields = new List <IndexedPropDesc>(); foreach (var hashprop in keysAvailable) { hashFields.Add(new VirtualDataWindowLookupFieldDesc(hashprop, VirtualDataWindowLookupOp.EQUALS, null)); hashIndexedFields.Add(new IndexedPropDesc(hashprop, _eventType.GetPropertyType(hashprop))); } IList <VirtualDataWindowLookupFieldDesc> btreeFields = new List <VirtualDataWindowLookupFieldDesc>(); IList <IndexedPropDesc> btreeIndexedFields = new List <IndexedPropDesc>(); foreach (var btreeprop in rangesAvailable) { btreeFields.Add(new VirtualDataWindowLookupFieldDesc(btreeprop, null, null)); btreeIndexedFields.Add(new IndexedPropDesc(btreeprop, _eventType.GetPropertyType(btreeprop))); } var noopTable = new VirtualDWEventTable(false, hashFields, btreeFields, TABLE_ORGANIZATION); var imk = new IndexMultiKey(false, hashIndexedFields, btreeIndexedFields, null); return(new Pair <IndexMultiKey, EventTable>(imk, noopTable)); }
public Pair <IndexMultiKey, EventTable> GetSubordinateQueryDesc( bool unique, IList <IndexedPropDesc> hashedProps, IList <IndexedPropDesc> btreeProps) { var hashFields = hashedProps .Select(hashprop => new VirtualDataWindowLookupFieldDesc(hashprop.IndexPropName, VirtualDataWindowLookupOp.EQUALS, hashprop.CoercionType)) .ToList(); var btreeFields = btreeProps .Select(btreeprop => new VirtualDataWindowLookupFieldDesc(btreeprop.IndexPropName, null, btreeprop.CoercionType)) .ToList(); var eventTable = new VirtualDWEventTable( unique, hashFields, btreeFields, TABLE_ORGANIZATION); var imk = new IndexMultiKey(unique, hashedProps, btreeProps, null); return(new Pair <IndexMultiKey, EventTable>(imk, eventTable)); }