internal static IOpenView SelectFromSemantic(ISemantic query) { var subject = ((ISemantic)query).Subject; var context = new SemqContext(subject, subject.QueryRoot); return(((ISelect)query.Translate(context, null)).Select()); }
internal TopChainer(ISemantic prev, Nullable <long> top, bool isWithTies, int overloader) : base(((ISelect)prev.Translate(new SemqContext(((DbNode)prev).Root), null)).Select()) { if (top != null) { Prev.SetTop((long)top, isWithTies); } else { SkipBuild = true; } }
internal GroupByChainer(ISemantic prev, GroupingArgument[] columns) : base(prev.Translate(new SemqContext(((DbNode)prev).Root), null)) { Query.Clause.GroupBy = this; CheckNullOrEmptyAndThrow(Argc(() => columns, columns)); Query.AddArguments(columns); Build = (buildContext, buildArgs) => { var sql = Text.GenerateSql(100) .NewLine(Text.GroupBy).S() .Append(GroupingArgument.Concatenate(columns, buildContext, buildArgs, false)) .ToString(); TryThrow(buildContext); return(sql); }; }
internal SelectChainer(ISemantic prev, Column[] columns, bool isDistinct) : base(prev.Translate(new SemqContext(((DbNode)prev).Root), null)) { _Body(columns, isDistinct); }
internal TopChainer(ISemantic prev, double top, bool isWithTies) : base(((ISelect)prev.Translate(new SemqContext(((DbNode)prev).Root), null)).Select()) { Prev.SetTop(top, isWithTies); }
internal OrderByChainer(ISemantic prev, OrderingArgument[] columns) : base(prev.Translate(new SemqContext(((DbNode)prev).Root), null)) { _Body(columns); }