Show / Hide Table of Contents

Class ArchiveSelect

To implement parsing of more complex queries, the Archive Providers need to handle a combination of a "real" query and a place to hold expansions of individual restrictions until they can be put together properly. This class is the vehicle for that. See RestrictionParsingHelper for details.

Inheritance
Object
ArchiveSelect
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public class ArchiveSelect

Constructors

ArchiveSelect()

Even simple constructor (no origin name)

Declaration
public ArchiveSelect()

ArchiveSelect(String)

Simple constructor

Declaration
public ArchiveSelect(string origin)
Parameters
Type Name Description
String origin

Fields

DoNotConvertOuterJoinsToInnerJoins

By default we convert left outer joins to inner joins when there are restrictions on them; CS uses multiple joins with OR between adjacent-table restrictions and then we need to turn this behaviour OFF. Quite possibly the whole left outer to inner conversion was a bad idea in the first case, caused by insufficient understanding of the finer points of SQL :-(. We live & learn.

Declaration
public bool DoNotConvertOuterJoinsToInnerJoins
Field Value
Type Description
Boolean

ExpansionHolder

Holding data structure for restriction expansions that are NOT directly appended to the Query; putting restrictions on hold here is the NORMAL CASE.

Declaration
public RestrictionExpansionHolder ExpansionHolder
Field Value
Type Description
RestrictionExpansionHolder

Options

Options, passed in through GetRows() and available to anyone

Declaration
public string Options
Field Value
Type Description
String

Query

The SQL query being built

Declaration
public Select Query
Field Value
Type Description
Select

Methods

AddExpansion(ArchiveRestrictionInfo, Restriction)

Add an expansion of an ArchiveRestrictionInfo to the holding structure

Declaration
public void AddExpansion(ArchiveRestrictionInfo restriction, Restriction expansion)
Parameters
Type Name Description
ArchiveRestrictionInfo restriction

Restriction definition we are expanding

Restriction expansion

The SQL Restriction that this definition has been expanded to

Extension Methods

EnumUtil.MapEnums<From, To>(From)
ObjectExtensions.AssignByReflection<T>(T, T)
ObjectExtensions.GraphCopy<T>(T)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top