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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 public ScalarSelectManyStringStatement(SelectorStatement parent) : base(new ScalarStringSelectClause("data", parent.ExportName), null)
 {
 }
Exemple #5
0
        public SelectorStatement ModifyStatement(SelectorStatement statement, IMartenSession session)
        {
            statement.ToJsonSelector();

            return(statement);
        }