Redwood Documentation

Product Documentation

 

›Locating Objects

RunMyJobsGetting Started

Introduction

  • Welcome
  • Introduction to the Help System
  • Text Search

Getting Started

  • Symbols and Icons used in the User Interface
  • Logging in
  • Navigation
  • Navigating with Screen Readers

Basic Actions

  • Performing Basic Actions

Locating Objects

  • Filtering Objects
  • IntelliSearch, Advanced Object Search
  • SQL Functions
  • Custom SQL Filter BNF
  • Specifying Values
  • Searching For Objects using Object Search

User Parameters

  • Setting User Parameters
  • Creating Custom Navigation Bars
  • Documenting Objects using the Documentation Tab

Appendix

  • Glossary
  • Usage Data Collection
← SQL FunctionsSpecifying Values →

Custom SQL Filter BNF

TOKENS

<DEFAULT> SKIP : {
" "
| "\t"
| "\r"
| "\n"
| "/*" : WithinCComment
| "--" : WithinSqlComment
}

<WithinCComment> SKIP : {
"*/" : DEFAULT
}


<WithinCComment> MORE : {
<~[]>
}



<WithinSqlComment> SKIP : {
"\n" : DEFAULT
}


<WithinSqlComment> MORE : {
<~[]>
}


<DEFAULT> TOKEN : {
<KEYWORD_ALL: "ALL">
| <KEYWORD_AND: "AND">
| <KEYWORD_ANY: "ANY">
| <KEYWORD_AS: "AS">
| <KEYWORD_ASC: "ASC">
| <KEYWORD_BETWEEN: "BETWEEN">
| <KEYWORD_BY: "BY">
| <KEYWORD_DELETE: "DELETE">
| <KEYWORD_ESCAPE: "ESCAPE">
| <KEYWORD_DESC: "DESC">
| <KEYWORD_DISTINCT: "DISTINCT">
| <KEYWORD_EXISTS: "EXISTS">
| <KEYWORD_FN_AVG: "AVG">
| <KEYWORD_FN_COUNT: "COUNT">
| <KEYWORD_FN_MIN: "MIN">
| <KEYWORD_FN_MAX: "MAX">
| <KEYWORD_FN_SUM: "SUM">
| <KEYWORD_FN_BANNED_BIT_LENGTH: "BIT_LENGTH">
| <KEYWORD_FN_BANNED_CAST: "CAST">
| <KEYWORD_FN_BANNED_CONVERT: "CONVERT">
| <KEYWORD_FN_BANNED_CURRENT_DATE: "CURRENT_DATE">
| <KEYWORD_FN_BANNED_CURRENT_TIME: "CURRENT_TIME">
| <KEYWORD_FN_BANNED_CURRENT_TIMESTAMP: "CURRENT_TIMESTAMP">
| <KEYWORD_FN_BANNED_EXTRACT: "EXTRACT">
| <KEYWORD_FN_BANNED_LENGTH: "LENGTH">
| <KEYWORD_FN_BANNED_LOWER: "LOWER">
| <KEYWORD_FN_BANNED_POSITION: "POSITION">
| <KEYWORD_FN_BANNED_SUBSTRING: "SUBSTRING">
| <KEYWORD_FN_BANNED_TRANSLATE: "TRANSLATE">
| <KEYWORD_FN_NOW: "NOW">
| <KEYWORD_FN_FORMAT_NOW: "FORMAT_NOW">
| <KEYWORD_FN_FORMAT_EXPRESSION: "FORMAT_EXPRESSION">
| <KEYWORD_FN_BANNED_TRIM: "TRIM">
| <KEYWORD_FN_BANNED_UPPER: "UPPER">
| <KEYWORD_FOR: "FOR">
| <KEYWORD_FROM: "FROM">
| <KEYWORD_GROUP: "GROUP">
| <KEYWORD_HAVING: "HAVING">
| <KEYWORD_IN: "IN">
| <KEYWORD_INNER: "INNER">
| <KEYWORD_INSERT: "INSERT">
| <KEYWORD_INTERSECT: "INTERSECT">
| <KEYWORD_INTO: "INTO">
| <KEYWORD_IS: "IS">
| <KEYWORD_JOIN: "JOIN">
| <KEYWORD_JAVAENV: "JAVAENV">
| <KEYWORD_TODATE: "TODATE">
| <KEYWORD_LEFT: "LEFT">
| <KEYWORD_LIKE: "LIKE">
| <KEYWORD_LOCK: "LOCK">
| <KEYWORD_MINUS: "MINUS">
| <KEYWORD_MODE: "MODE">
| <KEYWORD_NOT: "NOT">
| <KEYWORD_NULL: "NULL">
| <KEYWORD_STRINGNULL: "STRINGNULL">
| <KEYWORD_DATENULL: "DATENULL">
| <KEYWORD_KEYNULL: "KEYNULL">
| <KEYWORD_FNULL: "FNULL">
| <KEYWORD_OF: "OF">
| <KEYWORD_OR: "OR">
| <KEYWORD_ON: "ON">
| <KEYWORD_ORDER: "ORDER">
| <KEYWORD_OUTER: "OUTER">
| <KEYWORD_RIGHT: "RIGHT">
| <KEYWORD_SELECT: "SELECT">
| <KEYWORD_SET: "SET">
| <KEYWORD_SOME: "SOME">
| <KEYWORD_UNION: "UNION">
| <KEYWORD_UPDATE: "UPDATE">
| <KEYWORD_VALUES: "VALUES">
| <KEYWORD_WHERE: "WHERE">
| <RESERVED_WORD_ROLE: "ROLE">
| <RESERVED_WORD_PARTITION: "PARTITION">
}


<DEFAULT> TOKEN : {
<TOKEN_NUMBER: <FLOAT> | <FLOAT> (["e","E"] (["-","+"])? <FLOAT>)?>
| <#FLOAT: <INTEGER> | <INTEGER> ("." <INTEGER>)? | "." <INTEGER>>
| <#INTEGER: (<DIGIT>)+>
| <#DIGIT: ["0"-"9"]>
}


<DEFAULT> TOKEN : {
<TOKEN_IDENTIFIER: (<LETTER>)+ (<DIGIT> | <LETTER> | "_")*>
| <#LETTER: ["a"-"z","A"-"Z"]>
| <TOKEN_BIND: "?">
| <TOKEN_CHAR_LITERAL: ("\'" (~["\'"])* "\'")+>
}

NON-TERMINALS

Identifier ::= <TOKEN_IDENTIFIER>
NullLiteral ::= "NULL"
StringLiteral ::= <TOKEN_CHAR_LITERAL>
NumberLiteral ::= <TOKEN_NUMBER>
BindVariable ::= "?"
TopLevelSQLStatement ::= SQLStatement
TopLevelWhereClause ::= WhereClause <EOF>
SQLStatement ::= (UpdateStatement | InsertStatement | DeleteStatement | SelectStatement) <EOF>
UpdateStatement ::= "UPDATE" TableReference "SET" UpdateValues (WhereClause)?
UpdateValues ::= UpdateValue ( "," UpdateValue)*
UpdateValue ::= TableColumn "=" UpdateValueRHS
UpdateValueRHS ::= (TableColumn (SQLUnaryExpression)? | SQLLiteralExpression)
InsertStatement ::= "INSERT" "INTO" TableReference ( "(" TableColumn ( "," TableColumn)* ")" )? ( "VALUES" "(" SQLLiteralExpression ( "," SQLLiteralExpression)* ")" )
DeleteStatement ::= "DELETE" ( "FROM" )? TableReference (WhereClause)?
TableColumn ::= RelObjectName ( "." RelObjectName)?
RelObjectName ::= ( "LENGTH" | "POSITION" | "PARTITION" | <TOKEN_IDENTIFIER> )
Comparison ::= ( "=" | "<>" | ">" | ">=" | "<" | "<=" )
TableReference ::= RelObjectName
TableReferenceWithAlias ::= TableReference (AsObjectName)?
SelectStatement ::= SelectWithoutOrder (OrderByClause | ForUpdateClause)?
SelectWithoutOrder ::= "SELECT" (SelectDistinctOperator | SelectAllOperator) SelectList FromClause WherePlaceHolder (GroupByClause)? (SetContinuation)?
SelectList ::= (SelectStar | SelectItemWithAlias ( "," SelectItemWithAlias)* )
SelectAllOperator ::= ( "ALL" )?
SelectDistinctOperator ::= "DISTINCT"
SelectStar ::= "*"
SelectItemWithAlias ::= SelectItem (AsObjectName)?
SelectItem ::= ( <TOKEN_NUMBER> | <TOKEN_CHAR_LITERAL> | SetFunctionCall | SelectAllItems | TableColumn)
SelectAllItems ::= RelObjectName "." "*"
AsObjectName ::= ( "AS" )? <TOKEN_IDENTIFIER>
FromClause ::= "FROM" FromItem ( "," FromItem)*
FromItem ::= (JoinedPrimaryTable | JoinedPrimaryTableNested)
JoinedPrimaryTable ::= TableReferenceWithAlias (JoinClause)*
JoinedPrimaryTableNested ::= "(" JoinedPrimaryTableNestedInnerClause ")" (JoinClause)+
JoinedPrimaryTableNestedInnerClause ::= (TableReferenceWithAlias (JoinClause)+ | JoinedPrimaryTableNested)
JoinClause ::= LeftJoinSubClause|InnerJoinSubClause
LeftJoinSubClause ::= "LEFT" ( "OUTER" )? "JOIN" TableReferenceWithAlias JoinOnClause
InnerJoinSubClause ::= ( "INNER" )? "JOIN" TableReferenceWithAlias JoinOnClause
JoinOnClause ::= "ON" SQLExpression
WherePlaceHolder ::= (WhereClause)?
WhereClause ::= "WHERE" SQLExpression
GroupByClause ::= "GROUP" "BY" SQLExpressionList ( "HAVING" SQLExpression)?
SetContinuation ::= ( "UNION" ( "ALL" )? | "INTERSECT" | "MINUS" ) ( "(" SelectWithoutOrder ")" | SelectWithoutOrder)
OrderByClause ::= "ORDER" "BY" OrderByExpression ( "," OrderByExpression)*
OrderByExpression ::= OrderByColumn (OrderByAscendingClause | OrderByDescendingClause)?
OrderByColumn ::= RelObjectName ( "." RelObjectName)?
OrderByAscendingClause ::= <KEYWORD_ASC>
OrderByDescendingClause ::= <KEYWORD_DESC>
ForUpdateClause ::= "FOR" "UPDATE" "OF" RelObjectName "." RelObjectName
SQLExpression ::= SQLOrExpression
SQLNotExpression ::= "NOT"
SQLOrExpression ::= SQLAndExpression ( "OR" SQLAndExpression)*
SQLAndExpression ::= SQLUnaryLogicalExpressions ( "AND" SQLUnaryLogicalExpressions)*
SQLUnaryLogicalExpressions ::= (SQLNotExpression)? (ExistsClause | SQLRelationalExpressions)
ExistsClause ::= "EXISTS" "(" SubQuery ")"
SQLRelationalExpressions ::= SQLSimpleExpression (SQLRelationalExpression | SQLComparisonExpression)?
SQLRelationalExpression ::= ( "IS" ( "NOT" )? IsNullClause | ( (SQLNotExpression)? (IsNullClause | SQLInOperator | SQLBetweenOperator | SQLLikeOperator) ) )
IsNullClause ::= ( "NULL" | "STRINGNULL" | "DATENULL" | "KEYNULL" )
SQLExpressionList ::= SQLSimpleExpression ( "," SQLSimpleExpression)*
SQLComparisonExpression ::= Comparison ( (ComparativeSubQueryType "(" SubQuery ")" ) | SQLSimpleExpression)
ComparativeSubQueryType ::= (AnySubQueryType | AllSubQueryType)?
AnySubQueryType ::= ( "ANY" | "SOME" )
AllSubQueryType ::= "ALL"
SQLInOperator ::= "IN" "(" (SQLExpressionList | SubQuery) ")"
SQLBetweenOperator ::= "BETWEEN" SQLSimpleExpression "AND" SQLSimpleExpression
SQLLikeOperator ::= "LIKE" SQLSimpleExpression (SQLLikeEscapeExpression)?
SQLLikeEscapeExpression ::= "ESCAPE" StringLiteral
SQLSimpleExpression ::= SQLAdditiveExpression
SQLAdditiveExpression ::= SQLMultiplicativeExpression ( ( "+" | "-" | "||" ) SQLAdditiveExpression)?
SQLMultiplicativeExpression ::= SQLUnaryExpression ( ( "*" | "/" ) SQLMultiplicativeExpression)?
SQLUnaryExpression ::= ( "+" | "-" )? SQLPrimaryExpression
SQLPrimaryExpression ::= SQLLiteralExpression|FunctionCall|TableColumn|"(" SQLExpression ")"
SQLLiteralExpression ::= (NullLiteral | NumberLiteral | StringLiteral | BindVariable)
FunctionCall ::= JavaEnvFunctionCall|ToDateFunctionCall|NowFunctionCall|FormatNowFunctionCall|FormatExpressionFunctionCall|FNullCall|SetFunctionCall|BannedFunctionCall
SetFunctionCall ::= ( "COUNT" "(" (CountArguments) ")" | "MIN" "(" (GeneralFunctionArguments) ")" | "MAX" "(" (GeneralFunctionArguments) ")" | "SUM" "(" (GeneralFunctionArguments) ")" | "AVG" "(" (GeneralFunctionArguments) ")" )
FNullCall ::= "FNULL" "(" (Identifier "," Identifier "," Identifier) ")"
BannedFunctionCall ::= ( "BIT_LENGTH" | "CAST" | "CONVERT" | "CURRENT_DATE" | "CURRENT_TIME" | "CURRENT_TIMESTAMP" | "EXTRACT" | "LENGTH" | "LOWER" | "POSITION" | "SUBSTRING" | "TRANSLATE" | "TRIM" | "UPPER" ) "(" (GeneralFunctionArguments) ")"
CountArguments ::= SelectStar|(SelectDistinctOperator|SQLPrimaryExpression)
GeneralFunctionArguments ::= SelectStar|( (SelectDistinctOperator | SelectAllOperator) SQLExpression)
JavaEnvFunctionCall ::= "JAVAENV" "(" (StringLiteral) ")" where StringLiteral is either UserAndGlobalIsolationGroupIds, UserId, or User
ToDateFunctionCall ::= "TODATE" "(" (StringLiteral "," StringLiteral ( "," StringLiteral)? ) ")"
NowFunctionCall ::= "NOW" "(" (StringLiteral ( "," StringLiteral)? )? ")"
FormatNowFunctionCall ::= "FORMAT_NOW" "(" (StringLiteral ( "," StringLiteral)? ) ")"
FormatExpressionFunctionCall ::= "FORMAT_EXPRESSION" "(" (StringLiteral "," StringLiteral ( "," StringLiteral)? ) ")"
SubQuery ::= SelectWithoutOrder
← SQL FunctionsSpecifying Values →
  • TOKENS
  • NON-TERMINALS
Docs
Getting StartedInstallationFinance InstallationConcepts
TroubleshootingArchiving
Learn and Connect
Support Portal
BlogEventsResources
ISO/ IEC 27001 Information Security Management
Automate to be human

2023 All Rights Reserved |

Terms of Service | Policies | Cookies | Glossary | Third-party Software | Contact | Copyright | Impressum |