public IncludeIdentitySelectorStatement(Statement original, IList <IIncludePlan> includes, IMartenSession session) : base(null) { ExportName = session.NextTempTableName(); _includes = includes; _innerEnd = (SelectorStatement)original.Current(); FromObject = _innerEnd.SelectClause.FromObject; _clonedEnd = _innerEnd.UseAsEndOfTempTableAndClone(this); _clonedEnd.SingleValue = _innerEnd.SingleValue; Inner = original; Statement current = this; foreach (var include in includes) { var includeStatement = include.BuildStatement(ExportName); current.InsertAfter(includeStatement); current = includeStatement; } current.InsertAfter(_clonedEnd); }
public SelectorStatement ModifyStatement(SelectorStatement statement, IMartenSession session) { var transform = session.Tenant.TransformFor(_transformName); var clause = new DataSelectClause <T>(statement.SelectClause.FromObject) { FieldName = $"{transform.Identifier}(d.data)" }; statement.SelectClause = clause; return(statement); }
public SelectorStatement ModifyStatement(SelectorStatement statement, IMartenSession session) { var transform = session.Tenant.TransformFor(_transformName); var clause = new JsonSelectClause(statement.SelectClause) { SelectionText = $"select {transform.Identifier}(d.data) from " }; statement.SelectClause = clause; return(statement); }
public ScalarSelectManyStringStatement(SelectorStatement parent) : base(new ScalarStringSelectClause("data", parent.ExportName), null) { }
public SelectorStatement ModifyStatement(SelectorStatement statement, IMartenSession session) { statement.ToJsonSelector(); return(statement); }