C# Class Hd.QueryExtensions.Render.SqlOmRenderer

Provides common implementation for ISqlOmRenderer
Inheritance: ISqlOmRenderer
Mostra file Open project: TargetProcess/Tp.HelpDesk

Public Methods

Method Description
RenderPage ( int pageIndex, int pageSize, int totalRowCount, SelectQuery query ) : string

Renders a SELECT statement which a result-set page

To generate pagination SQL you must supply totalRowCount. To aquire the total number of rows use the RenderRowCount method.

RenderRowCount ( SelectQuery query ) : string

Renders a row count SELECT statement.

RenderSelect ( SelectQuery query ) : string

Renders a SELECT statement

SqlEncode ( string val ) : string

Encodes a textual string.

All text string must be encoded before they are appended to a SQL statement.

SqlOmRenderer ( char identifierOpeningQuote, char identifierClosingQuote ) : System

Creates a new SqlOmRenderer

Protected Methods

Method Description
BitwiseAnd ( StringBuilder builder, WhereTerm term ) : void

Renders bitwise and

Coma ( StringBuilder builder ) : void

Renders a separator between select columns

Constant ( StringBuilder builder, SqlConstant expr ) : void

Renders a constant

ConstantList ( StringBuilder builder, SqlConstantCollection values ) : void

Renders a list of values

Expression ( StringBuilder builder, SqlExpression expr ) : void

Renders SqlExpression

From ( StringBuilder builder ) : void

Renders the begining of a FROM clause

FromClause ( StringBuilder builder, FromClause fromClause, string tableSpace ) : void

Renders the terms of a from clause

Function ( StringBuilder builder, SqlAggregationFunction func, SqlExpression param ) : void

Renders a SqlExpression of type Function

GroupBy ( StringBuilder builder, GroupByTermCollection groupByTerms ) : void

Renders the begining of a GROUP BY statement.

If groupByTerms has no items, nothing will be appended.

GroupByTerm ( StringBuilder builder, GroupByTerm term ) : void

Renders a single GROUP BY term

GroupByTerms ( StringBuilder builder, GroupByTermCollection groupByTerms ) : void

Renders GROUP BY terms

Having ( StringBuilder builder, WhereClause group ) : void

Renders the begining of a HAVING statement

Identifier ( StringBuilder builder, string name ) : void

Renders an identifier name.

IfNull ( StringBuilder builder, SqlExpression expr ) : void

Renders IfNull SqlExpression

Operator ( StringBuilder builder, CompareOperator op ) : void

Renders a comaprison operator

OrderBy ( StringBuilder builder, OrderByTermCollection orderByTerms ) : void

Renders the begining of a ORDER BY statement.

If orderByTerms has no items, nothing will be appended.

OrderByTerm ( StringBuilder builder, OrderByTerm term ) : void

Renders a single ORDER BY term

OrderByTerms ( StringBuilder builder, OrderByTermCollection orderByTerms ) : void

Renders ORDER BY terms

QualifiedIdentifier ( StringBuilder builder, string qnamespace, string name ) : void

Renders a fully qualified identifer.

QualifiedIdentifier is usually to render database fields with optional table alias prefixes. name is a mandatory parameter while qnamespace is optional. If qnamespace is null, identifier will be rendered without a namespace (aka table alias)

RelationshipOperator ( StringBuilder builder, WhereClauseRelationship relationship ) : void

Renders a relationship operator

RenderFromTerm ( StringBuilder builder, FromTerm table, string tableSpace ) : void

Renders a single FROM term

Select ( StringBuilder builder, bool distinct ) : void

Renders a the beginning of a SELECT clause with an optional DISTINCT setting

SelectColumn ( StringBuilder builder, SelectColumn col ) : void

Renders a sinle select column

SelectColumns ( StringBuilder builder, SelectColumnCollection columns ) : void

Renders columns of SELECT clause

TableNamespace ( StringBuilder builder, string ns ) : void

Renders the table namespace

Where ( StringBuilder builder, WhereClause group ) : void

Renders the begining of a WHERE statement

WhereClause ( StringBuilder builder, WhereClause group ) : void

Recursivly renders a WhereClause

WhereClause ( StringBuilder builder, WhereTerm term ) : void

Renders a single WhereTerm

Private Methods

Method Description
ApplyOrderBy ( OrderByTermCollection terms, SelectQuery orderQuery, bool forward, FromTerm table ) : void
FormatSortFieldName ( string fieldName ) : string

Method Details

BitwiseAnd() protected method

Renders bitwise and
protected BitwiseAnd ( StringBuilder builder, WhereTerm term ) : void
builder StringBuilder
term WhereTerm
return void

Coma() protected method

Renders a separator between select columns
protected Coma ( StringBuilder builder ) : void
builder StringBuilder
return void

Constant() protected method

Renders a constant
protected Constant ( StringBuilder builder, SqlConstant expr ) : void
builder StringBuilder
expr SqlConstant
return void

ConstantList() protected method

Renders a list of values
protected ConstantList ( StringBuilder builder, SqlConstantCollection values ) : void
builder StringBuilder
values SqlConstantCollection
return void

Expression() protected method

Renders SqlExpression
protected Expression ( StringBuilder builder, SqlExpression expr ) : void
builder StringBuilder
expr SqlExpression
return void

From() protected method

Renders the begining of a FROM clause
protected From ( StringBuilder builder ) : void
builder StringBuilder
return void

FromClause() protected method

Renders the terms of a from clause
protected FromClause ( StringBuilder builder, FromClause fromClause, string tableSpace ) : void
builder StringBuilder
fromClause FromClause
tableSpace string Common prefix for all tables in the clause
return void

Function() protected method

Renders a SqlExpression of type Function
protected Function ( StringBuilder builder, SqlAggregationFunction func, SqlExpression param ) : void
builder StringBuilder
func SqlAggregationFunction
param SqlExpression
return void

GroupBy() protected method

Renders the begining of a GROUP BY statement.
If groupByTerms has no items, nothing will be appended.
protected GroupBy ( StringBuilder builder, GroupByTermCollection groupByTerms ) : void
builder StringBuilder
groupByTerms GroupByTermCollection
return void

GroupByTerm() protected method

Renders a single GROUP BY term
protected GroupByTerm ( StringBuilder builder, GroupByTerm term ) : void
builder StringBuilder
term GroupByTerm
return void

GroupByTerms() protected method

Renders GROUP BY terms
protected GroupByTerms ( StringBuilder builder, GroupByTermCollection groupByTerms ) : void
builder StringBuilder
groupByTerms GroupByTermCollection
return void

Having() protected method

Renders the begining of a HAVING statement
protected Having ( StringBuilder builder, WhereClause group ) : void
builder StringBuilder
group WhereClause
return void

Identifier() protected method

Renders an identifier name.
protected Identifier ( StringBuilder builder, string name ) : void
builder StringBuilder
name string Identifier name
return void

IfNull() protected abstract method

Renders IfNull SqlExpression
protected abstract IfNull ( StringBuilder builder, SqlExpression expr ) : void
builder StringBuilder
expr SqlExpression
return void

Operator() protected method

Renders a comaprison operator
protected Operator ( StringBuilder builder, CompareOperator op ) : void
builder StringBuilder
op CompareOperator
return void

OrderBy() protected method

Renders the begining of a ORDER BY statement.
If orderByTerms has no items, nothing will be appended.
protected OrderBy ( StringBuilder builder, OrderByTermCollection orderByTerms ) : void
builder StringBuilder
orderByTerms OrderByTermCollection
return void

OrderByTerm() protected method

Renders a single ORDER BY term
protected OrderByTerm ( StringBuilder builder, OrderByTerm term ) : void
builder StringBuilder
term OrderByTerm
return void

OrderByTerms() protected method

Renders ORDER BY terms
protected OrderByTerms ( StringBuilder builder, OrderByTermCollection orderByTerms ) : void
builder StringBuilder
orderByTerms OrderByTermCollection
return void

QualifiedIdentifier() protected method

Renders a fully qualified identifer.
QualifiedIdentifier is usually to render database fields with optional table alias prefixes. name is a mandatory parameter while qnamespace is optional. If qnamespace is null, identifier will be rendered without a namespace (aka table alias)
protected QualifiedIdentifier ( StringBuilder builder, string qnamespace, string name ) : void
builder StringBuilder Select statement string builder
qnamespace string Identifier namespace
name string Identifier name
return void

RelationshipOperator() protected method

Renders a relationship operator
protected RelationshipOperator ( StringBuilder builder, WhereClauseRelationship relationship ) : void
builder StringBuilder
relationship WhereClauseRelationship
return void

RenderFromTerm() protected method

Renders a single FROM term
protected RenderFromTerm ( StringBuilder builder, FromTerm table, string tableSpace ) : void
builder StringBuilder
table FromTerm
tableSpace string Common prefix for all tables in the term
return void

RenderPage() public method

Renders a SELECT statement which a result-set page
To generate pagination SQL you must supply totalRowCount. To aquire the total number of rows use the RenderRowCount method.
public RenderPage ( int pageIndex, int pageSize, int totalRowCount, SelectQuery query ) : string
pageIndex int The zero based index of the page to be returned
pageSize int The size of a page
totalRowCount int Total number of rows the query would yeild if not paged
query SelectQuery Query definition to apply paging on
return string

RenderRowCount() public abstract method

Renders a row count SELECT statement.
public abstract RenderRowCount ( SelectQuery query ) : string
query SelectQuery Query definition to count rows for
return string

RenderSelect() public abstract method

Renders a SELECT statement
public abstract RenderSelect ( SelectQuery query ) : string
query SelectQuery Query definition
return string

Select() protected method

Renders a the beginning of a SELECT clause with an optional DISTINCT setting
protected Select ( StringBuilder builder, bool distinct ) : void
builder StringBuilder Select statement string builder
distinct bool Turns on or off SQL distinct option
return void

SelectColumn() protected method

Renders a sinle select column
protected SelectColumn ( StringBuilder builder, SelectColumn col ) : void
builder StringBuilder
col SelectColumn
return void

SelectColumns() protected method

Renders columns of SELECT clause
protected SelectColumns ( StringBuilder builder, SelectColumnCollection columns ) : void
builder StringBuilder
columns SelectColumnCollection
return void

SqlEncode() public method

Encodes a textual string.
All text string must be encoded before they are appended to a SQL statement.
public SqlEncode ( string val ) : string
val string Text to be encoded
return string

SqlOmRenderer() public method

Creates a new SqlOmRenderer
public SqlOmRenderer ( char identifierOpeningQuote, char identifierClosingQuote ) : System
identifierOpeningQuote char
identifierClosingQuote char
return System

TableNamespace() protected method

Renders the table namespace
protected TableNamespace ( StringBuilder builder, string ns ) : void
builder StringBuilder
ns string
return void

Where() protected method

Renders the begining of a WHERE statement
protected Where ( StringBuilder builder, WhereClause group ) : void
builder StringBuilder
group WhereClause
return void

WhereClause() protected method

Recursivly renders a WhereClause
protected WhereClause ( StringBuilder builder, WhereClause group ) : void
builder StringBuilder
group WhereClause
return void

WhereClause() protected method

Renders a single WhereTerm
protected WhereClause ( StringBuilder builder, WhereTerm term ) : void
builder StringBuilder
term WhereTerm
return void