Exemplo n.º 1
0
        private RuntimeExpression CreateRuntimeExpression(ExpressionNode expression, params BoundRowBufferEntrySet[] boundRowBufferEntrySets)
        {
            // Update row buffer references

            List <BoundRowBufferEntrySet> boundRowBufferEntrySetList = new List <BoundRowBufferEntrySet>();

            boundRowBufferEntrySetList.AddRange(boundRowBufferEntrySets);
            foreach (BoundRowBufferEntrySet outerreferenceBoundRowBufferEntrySet in _outerReferenceStack)
            {
                boundRowBufferEntrySetList.Add(outerreferenceBoundRowBufferEntrySet);
            }
            boundRowBufferEntrySets = boundRowBufferEntrySetList.ToArray();

            RowBufferEntryExpressionUpdater rowBufferEntryExpressionUpdater = new RowBufferEntryExpressionUpdater(boundRowBufferEntrySets);

            expression = rowBufferEntryExpressionUpdater.VisitExpression(expression);

#if COMPILE_IL
            return(ExpressionCompiler.CreateCompiled(expression));
#else
            return(ExpressionCompiler.CreateInterpreded(expression));
#endif
        }
Exemplo n.º 2
0
		private RuntimeExpression CreateRuntimeExpression(ExpressionNode expression, params BoundRowBufferEntrySet[] boundRowBufferEntrySets)
		{
			// Update row buffer references

			List<BoundRowBufferEntrySet> boundRowBufferEntrySetList = new List<BoundRowBufferEntrySet>();
			boundRowBufferEntrySetList.AddRange(boundRowBufferEntrySets);
			foreach (BoundRowBufferEntrySet outerreferenceBoundRowBufferEntrySet in _outerReferenceStack)
				boundRowBufferEntrySetList.Add(outerreferenceBoundRowBufferEntrySet);
			boundRowBufferEntrySets = boundRowBufferEntrySetList.ToArray();

			RowBufferEntryExpressionUpdater rowBufferEntryExpressionUpdater = new RowBufferEntryExpressionUpdater(boundRowBufferEntrySets);
			expression = rowBufferEntryExpressionUpdater.VisitExpression(expression);

#if COMPILE_IL
			return ExpressionCompiler.CreateCompiled(expression);
#else
			return ExpressionCompiler.CreateInterpreded(expression);
#endif
		}