Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }