public CountComparisonStatement(IMartenSession session, Type documentType, IFieldMapping fields, Statement parent) : base(documentType, fields, parent) { ConvertToCommonTableExpression(session); parent.InsertAfter(this); _tableName = parent.ExportName; }
public IdSelectorStatement(IMartenSession session, IFieldMapping fields, Statement parent) : base(fields) { parent.InsertAfter(this); ConvertToCommonTableExpression(session); // Important when doing n-deep sub-collection querying // And you need to remember the original FromObject // of the original parent rather than looking at Previous.ExportName // in the configure() method FromObject = parent.ExportName; }
public CountStatement(Statement parent) : base(new ScalarSelectClause <T>("count(*)", parent.ExportName), parent.Fields) { if (parent.Mode != StatementMode.CommonTableExpression) { throw new ArgumentOutOfRangeException(nameof(parent), "CountStatement's parent must be a Common Table Expression statement"); } parent.InsertAfter(this); TableName = parent.ExportName; SingleValue = true; ReturnDefaultWhenEmpty = true; CanBeMultiples = true; }