Class TSelectSqlStatement
- Namespace
- gudusoft.gsqlparser.stmt
- Assembly
- gudusoft.gsqlparser.dll
Class TSelectSqlStatement represents query specification, query expression and select statement. query specification including following clause:
- select list ResultColumnList
- from clause joins
- where clause WhereClause
- group clause GroupByClause
- having clause GroupByClause
query expression including all elements in query specification and following clause:
- order by clause OrderbyClause
- offset clause OffsetClause
- for clause
select statement including all elements in query expression and following clause:
- compute clause ComputeClause
- for update clause ForUpdateClause
- optimizer hint
- ctes CteList
Use CombinedQuery to check whether UNION, EXCEPT and INTERSECT operators is used. If returns true, use LeftStmt and RightStmt to get query expression. You need to check CombinedQuery recursively, all clauses of TSelectSqlStatement only available when this function returns false.
public class TSelectSqlStatement : TCustomSqlStatement, Visitable
- Inheritance
-
TSelectSqlStatement
- Implements
- Inherited Members
Constructors
TSelectSqlStatement(EDbVendor)
public TSelectSqlStatement(EDbVendor dbvendor)
Parameters
dbvendorEDbVendor
Fields
setOperator_except
public const int setOperator_except = 7
Field Value
setOperator_exceptall
public const int setOperator_exceptall = 8
Field Value
setOperator_intersect
public const int setOperator_intersect = 3
Field Value
setOperator_intersectall
public const int setOperator_intersectall = 4
Field Value
setOperator_minus
public const int setOperator_minus = 5
Field Value
setOperator_minusall
public const int setOperator_minusall = 6
Field Value
setOperator_none
public const int setOperator_none = 0
Field Value
setOperator_union
public const int setOperator_union = 1
Field Value
setOperator_unionall
public const int setOperator_unionall = 2
Field Value
Properties
All
public virtual bool All { get; set; }
Property Value
CombinedQuery
Determine whether The UNION, EXCEPT and INTERSECT operators were used.
public virtual bool CombinedQuery { get; }
Property Value
- bool
true if one of those operators were used.
ComputeClause
public virtual TComputeClause ComputeClause { get; set; }
Property Value
DistributeBy
public virtual THiveDistributeBy DistributeBy { get; set; }
Property Value
ExpandOnClause
public virtual TExpandOnClause ExpandOnClause { get; set; }
Property Value
FetchFirstClause
public virtual TFetchFirstClause FetchFirstClause { get; set; }
Property Value
ForUpdateClause
public virtual TForUpdate ForUpdateClause { get; set; }
Property Value
GroupByClause
public virtual TGroupBy GroupByClause { get; set; }
Property Value
HierarchicalClause
public virtual THierarchical HierarchicalClause { get; set; }
Property Value
HiveClusterBy
public virtual THiveClusterBy HiveClusterBy { get; set; }
Property Value
HiveHintClause
public virtual THiveHintClause HiveHintClause { get; set; }
Property Value
IntoClause
public virtual TIntoClause IntoClause { get; set; }
Property Value
IntoTableClause
public virtual TIntoTableClause IntoTableClause { get; set; }
Property Value
IsolationClause
public virtual TIsolationClause IsolationClause { get; set; }
Property Value
LeftStmt
public virtual TSelectSqlStatement LeftStmt { get; set; }
Property Value
LimitClause
public virtual TLimitClause LimitClause { get; set; }
Property Value
Location
public virtual ESqlClause Location { get; set; }
Property Value
LockingClauses
public virtual List<TLockingClause> LockingClauses { get; set; }
Property Value
OffsetClause
public virtual TOffsetClause OffsetClause { get; set; }
Property Value
OptionClause
public virtual TOptionClause OptionClause { get; set; }
Property Value
OrderbyClause
public virtual TOrderBy OrderbyClause { get; set; }
Property Value
ParenthesisCount
public virtual int ParenthesisCount { get; set; }
Property Value
ParenthesisCountBeforeOrder
public virtual int ParenthesisCountBeforeOrder { get; set; }
Property Value
QualifyClause
public virtual TQualifyClause QualifyClause { get; set; }
Property Value
QueryOfCTE
public virtual bool QueryOfCTE { get; set; }
Property Value
RightStmt
public virtual TSelectSqlStatement RightStmt { get; set; }
Property Value
SampleClause
public virtual TSampleClause SampleClause { get; set; }
Property Value
SelectDistinct
public virtual TSelectDistinct SelectDistinct { get; set; }
Property Value
SelectToken
public virtual TSourceToken SelectToken { get; set; }
Property Value
SetOperator
public virtual int SetOperator { get; set; }
Property Value
SetOperatorType
public virtual ESetOperatorType SetOperatorType { get; set; }
Property Value
SortBy
public virtual THiveSortBy SortBy { get; set; }
Property Value
TeradataWithClause
public virtual TTeradataWithClause TeradataWithClause { get; set; }
Property Value
TransformClause
public virtual THiveTransformClause TransformClause { get; set; }
Property Value
ValueClause
public virtual TValueClause ValueClause { get; set; }
Property Value
WindowClause
public virtual TWindowClause WindowClause { get; set; }
Property Value
childOfCombinedQuery
public bool childOfCombinedQuery { get; set; }
Property Value
Methods
accept(TParseTreeVisitor)
public override void accept(TParseTreeVisitor v)
Parameters
acceptChildren(TParseTreeVisitor)
Accept visitor to visit this class.
public override void acceptChildren(TParseTreeVisitor v)
Parameters
vTParseTreeVisitoruser defined visitor.
addCondition(string)
this function is alias of addWhereClause
public virtual TWhereClause addCondition(string condition)
Parameters
conditionstringnew condition
Returns
- TWhereClause
new where clause
addConditionOR(string)
public virtual TWhereClause addConditionOR(string condition)
Parameters
conditionstring
Returns
addOrderBy(string)
[Obsolete("Method will be removed, please do not use it")]
public virtual TOrderBy addOrderBy(string orderByStr)
Parameters
orderByStrstring
Returns
addWhereClause(string)
this method was temporary disabled.
public override TWhereClause addWhereClause(string condition)
Parameters
conditionstring
Returns
addWhereClauseOR(string)
public virtual TWhereClause addWhereClauseOR(string condition)
Parameters
conditionstring
Returns
doAddWhereClause(string, bool)
[Obsolete("Method will be removed, please do not use it")]
protected virtual TWhereClause doAddWhereClause(string condition, bool isAnd)
Parameters
Returns
doParseStatement(TCustomSqlStatement)
This function is used internal. DON'T call it explicitly.
public override int doParseStatement(TCustomSqlStatement psql)
Parameters
psqlTCustomSqlStatementinput query.
Returns
- int
zero means there is no syntax error detected.
searchColumnInResultSet(TObjectName, bool)
Internal function, DON'T call it explicitly.
public virtual bool searchColumnInResultSet(TObjectName pColumn, bool pMustIn)
Parameters
pColumnTObjectName, column to be searched.
pMustInbool, column must existed in this query.
Returns
- bool
true if found.