Ejemplo n.º 1
0
 public static void OptimizeChilds(this ISqlConvertible expr)
 {
     expr.Expolore(e =>
     {
         if (e != null && e is Expression)
         {
             Expression e2 = (Expression)e;
             return(e2.Optimize());
         }
         return(e);
     });
 }
Ejemplo n.º 2
0
        public static ITableDesc[] ExtractTables(ISqlConvertible token)
        {
            List <ITableDesc> res = new List <ITableDesc>();

            token.Expolore(a =>
            {
                if ((a is ITableDesc) && !(a is ISelect))
                {
                    res.Add((ITableDesc)a);
                }
                return(a);
            });
            return(res.ToArray());
        }
Ejemplo n.º 3
0
        public static ITableSource FindParentTableSource(this ISqlConvertible token)
        {
            var p = token.ParentToken;

            if (p == null)
            {
                return(null);
            }
            if (p is ITableSource)
            {
                return((ITableSource)p);
            }
            return(p.FindParentTableSource());
        }