Пример #1
0
        /// <summary>
        /// The driver.
        /// Walks the tree, and "pushes" down information about required properties
        /// to every node and Var in the tree.
        /// </summary>
        /// <param name="itree">The query tree</param>
        /// <param name="structuredTypeInfo">Type info for structured types appearing in query.</param>
        /// <param name="varPropertyRefs">List of desired properties from each Var</param>
        /// <param name="nodePropertyRefs">List of desired properties from each node</param>
        internal static void Process(Command itree, StructuredTypeInfo structuredTypeInfo, out Dictionary <Var, PropertyRefList> varPropertyRefs, out Dictionary <Node, PropertyRefList> nodePropertyRefs)
        {
            PropertyPushdownHelper pph = new PropertyPushdownHelper(structuredTypeInfo);

            pph.Process(itree.Root);

            varPropertyRefs  = pph.m_varPropertyRefMap;
            nodePropertyRefs = pph.m_nodePropertyRefMap;
        }
Пример #2
0
        /// <summary>
        /// The driver.
        /// Walks the tree, and "pushes" down information about required properties
        /// to every node and Var in the tree.
        /// </summary>
        /// <param name="itree">The query tree</param>
        /// <param name="structuredTypeInfo">Type info for structured types appearing in query.</param>
        /// <param name="varPropertyRefs">List of desired properties from each Var</param>
        /// <param name="nodePropertyRefs">List of desired properties from each node</param>
        internal static void Process(Command itree, StructuredTypeInfo structuredTypeInfo, out Dictionary<Var, PropertyRefList> varPropertyRefs, out Dictionary<Node, PropertyRefList> nodePropertyRefs)
        {
            PropertyPushdownHelper pph = new PropertyPushdownHelper(structuredTypeInfo);
            pph.Process(itree.Root);

            varPropertyRefs = pph.m_varPropertyRefMap;
            nodePropertyRefs = pph.m_nodePropertyRefMap;
        }