app.cash.sqldelight.dialects.hsql.grammar.HsqlParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hsql-dialect Show documentation
Show all versions of hsql-dialect Show documentation
The HSQL Dialect for SQLDelight
// This is a generated file. Not intended for manual editing.
package app.cash.sqldelight.dialects.hsql.grammar;
import com.intellij.lang.PsiBuilder;
import com.intellij.lang.PsiBuilder.Marker;
import static app.cash.sqldelight.dialects.hsql.grammar.psi.HsqlTypes.*;
import static app.cash.sqldelight.dialects.hsql.grammar.HsqlParserUtil.*;
import com.intellij.psi.tree.IElementType;
import com.intellij.lang.ASTNode;
import com.intellij.psi.tree.TokenSet;
import com.intellij.lang.PsiParser;
import com.intellij.lang.LightPsiParser;
import static com.alecstrong.sql.psi.core.SqlParser.*;
import static com.alecstrong.sql.psi.core.SqlParserUtil.identifierExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.conflictClauseExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.checkConstraintExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.defaultConstraintExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.collationNameExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.foreignKeyClauseExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.withClauseExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.databaseNameExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.tableNameExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.tableAliasExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.columnNameExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.insertStmtValuesExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.columnAliasExt;
import static com.alecstrong.sql.psi.core.SqlParserUtil.orderingTermExt;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.ALWAYS;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.AND;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.AS;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.ASC;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.BETWEEN;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.BY;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.COLLATE;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.COMMA;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.CONSTRAINT;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.DEFAULT;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.DESC;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.DIGIT;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.DOT;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.GENERATED;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.GROUP;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.ID;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.INSERT;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.INTO;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.KEY;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.LP;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.MERGE;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.MULTIPLY;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.NO;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.NOT;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.NULL;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.ORDER;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.PARTITION;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.PRIMARY;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.ROW;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.RP;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.TO;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.UNIQUE;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.WHERE;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.WITH;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.WITHOUT;
@SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"})
public class HsqlParser implements PsiParser, LightPsiParser {
public ASTNode parse(IElementType root_, PsiBuilder builder_) {
parseLight(root_, builder_);
return builder_.getTreeBuilt();
}
public void parseLight(IElementType root_, PsiBuilder builder_) {
boolean result_;
builder_ = adapt_builder_(root_, builder_, this, null);
Marker marker_ = enter_section_(builder_, 0, _COLLAPSE_, null);
result_ = parse_root_(root_, builder_);
exit_section_(builder_, 0, marker_, root_, result_, true, TRUE_CONDITION);
}
protected boolean parse_root_(IElementType root_, PsiBuilder builder_) {
return parse_root_(root_, builder_, 0);
}
static boolean parse_root_(IElementType root_, PsiBuilder builder_, int level_) {
return root(builder_, level_ + 1);
}
/* ********************************************************** */
// 'FLOAT' [ LP <> RP ] | 'REAL' | ( 'DOUBLE' 'PRECISION' ) | 'DOUBLE'
public static boolean approximate_numeric_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "approximate_numeric_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, APPROXIMATE_NUMERIC_DATA_TYPE, "");
result_ = approximate_numeric_data_type_real_0(builder_, level_ + 1);
if (!result_) result_ = consumeToken(builder_, "REAL");
if (!result_) result_ = approximate_numeric_data_type_real_2(builder_, level_ + 1);
if (!result_) result_ = consumeToken(builder_, "DOUBLE");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// 'FLOAT' [ LP <> RP ]
private static boolean approximate_numeric_data_type_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "approximate_numeric_data_type_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "FLOAT");
result_ = result_ && approximate_numeric_data_type_real_0_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP <> RP ]
private static boolean approximate_numeric_data_type_real_0_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "approximate_numeric_data_type_real_0_1")) return false;
approximate_numeric_data_type_real_0_1_0(builder_, level_ + 1);
return true;
}
// LP <> RP
private static boolean approximate_numeric_data_type_real_0_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "approximate_numeric_data_type_real_0_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, LP);
result_ = result_ && precisionExt(builder_, level_ + 1, HsqlParser::precision_real);
result_ = result_ && consumeToken(builder_, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'DOUBLE' 'PRECISION'
private static boolean approximate_numeric_data_type_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "approximate_numeric_data_type_real_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "DOUBLE");
result_ = result_ && consumeToken(builder_, "PRECISION");
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// id
public static boolean base_window_name_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "base_window_name_real")) return false;
if (!nextTokenIs(builder_, ID)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, ID);
exit_section_(builder_, marker_, BASE_WINDOW_NAME, result_);
return result_;
}
/* ********************************************************** */
// 'BIGINT'
public static boolean big_int_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "big_int_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, BIG_INT_DATA_TYPE, "");
result_ = consumeToken(builder_, "BIGINT");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// { ('BINARY' 'LARGE' 'OBJECT') | 'BLOB' } [ LP digit RP ]
public static boolean binary_large_object_string_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_large_object_string_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, BINARY_LARGE_OBJECT_STRING_DATA_TYPE, "");
result_ = binary_large_object_string_data_type_real_0(builder_, level_ + 1);
result_ = result_ && binary_large_object_string_data_type_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// ('BINARY' 'LARGE' 'OBJECT') | 'BLOB'
private static boolean binary_large_object_string_data_type_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_large_object_string_data_type_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = binary_large_object_string_data_type_real_0_0(builder_, level_ + 1);
if (!result_) result_ = consumeToken(builder_, "BLOB");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'BINARY' 'LARGE' 'OBJECT'
private static boolean binary_large_object_string_data_type_real_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_large_object_string_data_type_real_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "BINARY");
result_ = result_ && consumeToken(builder_, "LARGE");
result_ = result_ && consumeToken(builder_, "OBJECT");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP digit RP ]
private static boolean binary_large_object_string_data_type_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_large_object_string_data_type_real_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
/* ********************************************************** */
// { ('BINARY' 'VARYING') | 'VARBINARY' } LP digit RP | <> | { 'BINARY' | 'LONGVARBINARY' } [ LP digit RP ] | 'UUID'
public static boolean binary_string_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_string_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, BINARY_STRING_DATA_TYPE, "");
result_ = binary_string_data_type_real_0(builder_, level_ + 1);
if (!result_) result_ = binaryLargeObjectStringDataTypeExt(builder_, level_ + 1, HsqlParser::binary_large_object_string_data_type_real);
if (!result_) result_ = binary_string_data_type_real_2(builder_, level_ + 1);
if (!result_) result_ = consumeToken(builder_, "UUID");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// { ('BINARY' 'VARYING') | 'VARBINARY' } LP digit RP
private static boolean binary_string_data_type_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_string_data_type_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = binary_string_data_type_real_0_0(builder_, level_ + 1);
result_ = result_ && consumeTokens(builder_, 0, LP, DIGIT, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ('BINARY' 'VARYING') | 'VARBINARY'
private static boolean binary_string_data_type_real_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_string_data_type_real_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = binary_string_data_type_real_0_0_0(builder_, level_ + 1);
if (!result_) result_ = consumeToken(builder_, "VARBINARY");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'BINARY' 'VARYING'
private static boolean binary_string_data_type_real_0_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_string_data_type_real_0_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "BINARY");
result_ = result_ && consumeToken(builder_, "VARYING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// { 'BINARY' | 'LONGVARBINARY' } [ LP digit RP ]
private static boolean binary_string_data_type_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_string_data_type_real_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = binary_string_data_type_real_2_0(builder_, level_ + 1);
result_ = result_ && binary_string_data_type_real_2_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'BINARY' | 'LONGVARBINARY'
private static boolean binary_string_data_type_real_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_string_data_type_real_2_0")) return false;
boolean result_;
result_ = consumeToken(builder_, "BINARY");
if (!result_) result_ = consumeToken(builder_, "LONGVARBINARY");
return result_;
}
// [ LP digit RP ]
private static boolean binary_string_data_type_real_2_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "binary_string_data_type_real_2_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
/* ********************************************************** */
// DEFAULT | ( '?' | ':' <>>> )
public static boolean bind_parameter_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bind_parameter_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, BIND_PARAMETER, "");
result_ = consumeToken(builder_, DEFAULT);
if (!result_) result_ = bind_parameter_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// '?' | ':' <>>>
private static boolean bind_parameter_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bind_parameter_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "?");
if (!result_) result_ = bind_parameter_real_1_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ':' <>>>
private static boolean bind_parameter_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bind_parameter_real_1_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, ":");
result_ = result_ && identifierExt(builder_, level_ + 1, bind_parameter_real_1_1_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// ('BIT' 'VARYING') LP digit RP | 'BIT' [ LP digit RP ]
public static boolean bit_string_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bit_string_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, BIT_STRING_DATA_TYPE, "");
result_ = bit_string_data_type_real_0(builder_, level_ + 1);
if (!result_) result_ = bit_string_data_type_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// ('BIT' 'VARYING') LP digit RP
private static boolean bit_string_data_type_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bit_string_data_type_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = bit_string_data_type_real_0_0(builder_, level_ + 1);
result_ = result_ && consumeTokens(builder_, 0, LP, DIGIT, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'BIT' 'VARYING'
private static boolean bit_string_data_type_real_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bit_string_data_type_real_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "BIT");
result_ = result_ && consumeToken(builder_, "VARYING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'BIT' [ LP digit RP ]
private static boolean bit_string_data_type_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bit_string_data_type_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "BIT");
result_ = result_ && bit_string_data_type_real_1_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP digit RP ]
private static boolean bit_string_data_type_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bit_string_data_type_real_1_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
/* ********************************************************** */
// 'BOOLEAN'
public static boolean boolean_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "boolean_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, BOOLEAN_DATA_TYPE, "");
result_ = consumeToken(builder_, "BOOLEAN");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// 'CHARACTERS' | 'OCTETS'
public static boolean char_length_units_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "char_length_units_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, CHAR_LENGTH_UNITS, "");
result_ = consumeToken(builder_, "CHARACTERS");
if (!result_) result_ = consumeToken(builder_, "OCTETS");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// { ('CHARACTER' 'LARGE' 'OBJECT') | ('CHAR' 'LARGE' 'OBJECT') | 'CLOB' } [ LP <> RP ]
public static boolean character_large_object_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, CHARACTER_LARGE_OBJECT_DATA_TYPE, "");
result_ = character_large_object_data_type_real_0(builder_, level_ + 1);
result_ = result_ && character_large_object_data_type_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// ('CHARACTER' 'LARGE' 'OBJECT') | ('CHAR' 'LARGE' 'OBJECT') | 'CLOB'
private static boolean character_large_object_data_type_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_data_type_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = character_large_object_data_type_real_0_0(builder_, level_ + 1);
if (!result_) result_ = character_large_object_data_type_real_0_1(builder_, level_ + 1);
if (!result_) result_ = consumeToken(builder_, "CLOB");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CHARACTER' 'LARGE' 'OBJECT'
private static boolean character_large_object_data_type_real_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_data_type_real_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "CHARACTER");
result_ = result_ && consumeToken(builder_, "LARGE");
result_ = result_ && consumeToken(builder_, "OBJECT");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CHAR' 'LARGE' 'OBJECT'
private static boolean character_large_object_data_type_real_0_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_data_type_real_0_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "CHAR");
result_ = result_ && consumeToken(builder_, "LARGE");
result_ = result_ && consumeToken(builder_, "OBJECT");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP <> RP ]
private static boolean character_large_object_data_type_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_data_type_real_1")) return false;
character_large_object_data_type_real_1_0(builder_, level_ + 1);
return true;
}
// LP <> RP
private static boolean character_large_object_data_type_real_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_data_type_real_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, LP);
result_ = result_ && characterLargeObjectLengthExt(builder_, level_ + 1, HsqlParser::character_large_object_length_real);
result_ = result_ && consumeToken(builder_, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// digit [ <> ] [ <> ]
public static boolean character_large_object_length_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_length_real")) return false;
if (!nextTokenIs(builder_, DIGIT)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, DIGIT);
result_ = result_ && character_large_object_length_real_1(builder_, level_ + 1);
result_ = result_ && character_large_object_length_real_2(builder_, level_ + 1);
exit_section_(builder_, marker_, CHARACTER_LARGE_OBJECT_LENGTH, result_);
return result_;
}
// [ <> ]
private static boolean character_large_object_length_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_length_real_1")) return false;
multiplierExt(builder_, level_ + 1, HsqlParser::multiplier_real);
return true;
}
// [ <> ]
private static boolean character_large_object_length_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_large_object_length_real_2")) return false;
charLengthUnitsExt(builder_, level_ + 1, HsqlParser::char_length_units_real);
return true;
}
/* ********************************************************** */
// { ('CHARACTER' 'VARYING') | ('CHAR' 'VARYING') | 'VARCHAR' } LP digit RP | <> | { 'CHARACTER' | 'CHAR' | 'LONGVARCHAR' } [ LP digit RP ]
public static boolean character_string_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, CHARACTER_STRING_DATA_TYPE, "");
result_ = character_string_data_type_real_0(builder_, level_ + 1);
if (!result_) result_ = characterLargeObjectDataTypeExt(builder_, level_ + 1, HsqlParser::character_large_object_data_type_real);
if (!result_) result_ = character_string_data_type_real_2(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// { ('CHARACTER' 'VARYING') | ('CHAR' 'VARYING') | 'VARCHAR' } LP digit RP
private static boolean character_string_data_type_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = character_string_data_type_real_0_0(builder_, level_ + 1);
result_ = result_ && consumeTokens(builder_, 0, LP, DIGIT, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ('CHARACTER' 'VARYING') | ('CHAR' 'VARYING') | 'VARCHAR'
private static boolean character_string_data_type_real_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = character_string_data_type_real_0_0_0(builder_, level_ + 1);
if (!result_) result_ = character_string_data_type_real_0_0_1(builder_, level_ + 1);
if (!result_) result_ = consumeToken(builder_, "VARCHAR");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CHARACTER' 'VARYING'
private static boolean character_string_data_type_real_0_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real_0_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "CHARACTER");
result_ = result_ && consumeToken(builder_, "VARYING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CHAR' 'VARYING'
private static boolean character_string_data_type_real_0_0_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real_0_0_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "CHAR");
result_ = result_ && consumeToken(builder_, "VARYING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// { 'CHARACTER' | 'CHAR' | 'LONGVARCHAR' } [ LP digit RP ]
private static boolean character_string_data_type_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = character_string_data_type_real_2_0(builder_, level_ + 1);
result_ = result_ && character_string_data_type_real_2_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CHARACTER' | 'CHAR' | 'LONGVARCHAR'
private static boolean character_string_data_type_real_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real_2_0")) return false;
boolean result_;
result_ = consumeToken(builder_, "CHARACTER");
if (!result_) result_ = consumeToken(builder_, "CHAR");
if (!result_) result_ = consumeToken(builder_, "LONGVARCHAR");
return result_;
}
// [ LP digit RP ]
private static boolean character_string_data_type_real_2_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "character_string_data_type_real_2_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
/* ********************************************************** */
// [ CONSTRAINT <>>> ] (
// 'AUTO_INCREMENT' |
// PRIMARY KEY [ ASC | DESC ] <>>> |
// NOT NULL <>>> |
// UNIQUE <>>> |
// <>>> |
// <> |
// <>>> |
// COLLATE <>>> |
// <>>>
// )
public static boolean column_constraint_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, COLUMN_CONSTRAINT, "");
result_ = column_constraint_real_0(builder_, level_ + 1);
result_ = result_ && column_constraint_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// [ CONSTRAINT <>>> ]
private static boolean column_constraint_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_0")) return false;
column_constraint_real_0_0(builder_, level_ + 1);
return true;
}
// CONSTRAINT <>>>
private static boolean column_constraint_real_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, CONSTRAINT);
result_ = result_ && identifierExt(builder_, level_ + 1, column_constraint_real_0_0_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'AUTO_INCREMENT' |
// PRIMARY KEY [ ASC | DESC ] <>>> |
// NOT NULL <>>> |
// UNIQUE <>>> |
// <>>> |
// <> |
// <>>> |
// COLLATE <>>> |
// <>>>
private static boolean column_constraint_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "AUTO_INCREMENT");
if (!result_) result_ = column_constraint_real_1_1(builder_, level_ + 1);
if (!result_) result_ = column_constraint_real_1_2(builder_, level_ + 1);
if (!result_) result_ = column_constraint_real_1_3(builder_, level_ + 1);
if (!result_) result_ = checkConstraintExt(builder_, level_ + 1, column_constraint_real_1_4_0_parser_);
if (!result_) result_ = generatedClauseExt(builder_, level_ + 1, HsqlParser::generated_clause_real);
if (!result_) result_ = defaultConstraintExt(builder_, level_ + 1, column_constraint_real_1_6_0_parser_);
if (!result_) result_ = column_constraint_real_1_7(builder_, level_ + 1);
if (!result_) result_ = foreignKeyClauseExt(builder_, level_ + 1, column_constraint_real_1_8_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// PRIMARY KEY [ ASC | DESC ] <>>>
private static boolean column_constraint_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_1_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeTokens(builder_, 0, PRIMARY, KEY);
result_ = result_ && column_constraint_real_1_1_2(builder_, level_ + 1);
result_ = result_ && conflictClauseExt(builder_, level_ + 1, column_constraint_real_1_1_3_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ ASC | DESC ]
private static boolean column_constraint_real_1_1_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_1_1_2")) return false;
column_constraint_real_1_1_2_0(builder_, level_ + 1);
return true;
}
// ASC | DESC
private static boolean column_constraint_real_1_1_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_1_1_2_0")) return false;
boolean result_;
result_ = consumeToken(builder_, ASC);
if (!result_) result_ = consumeToken(builder_, DESC);
return result_;
}
// NOT NULL <>>>
private static boolean column_constraint_real_1_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_1_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeTokens(builder_, 0, NOT, NULL);
result_ = result_ && conflictClauseExt(builder_, level_ + 1, column_constraint_real_1_2_2_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// UNIQUE <>>>
private static boolean column_constraint_real_1_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_1_3")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, UNIQUE);
result_ = result_ && conflictClauseExt(builder_, level_ + 1, column_constraint_real_1_3_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// COLLATE <>>>
private static boolean column_constraint_real_1_7(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "column_constraint_real_1_7")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, COLLATE);
result_ = result_ && collationNameExt(builder_, level_ + 1, column_constraint_real_1_7_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// 'DATE' | ( 'TIME' | 'TIMESTAMP' ) [ LP digit RP ] [ ( WITH | WITHOUT ) 'TIME' 'ZONE' ]
public static boolean date_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "date_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, DATE_DATA_TYPE, "");
result_ = consumeToken(builder_, "DATE");
if (!result_) result_ = date_data_type_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// ( 'TIME' | 'TIMESTAMP' ) [ LP digit RP ] [ ( WITH | WITHOUT ) 'TIME' 'ZONE' ]
private static boolean date_data_type_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "date_data_type_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = date_data_type_real_1_0(builder_, level_ + 1);
result_ = result_ && date_data_type_real_1_1(builder_, level_ + 1);
result_ = result_ && date_data_type_real_1_2(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'TIME' | 'TIMESTAMP'
private static boolean date_data_type_real_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "date_data_type_real_1_0")) return false;
boolean result_;
result_ = consumeToken(builder_, "TIME");
if (!result_) result_ = consumeToken(builder_, "TIMESTAMP");
return result_;
}
// [ LP digit RP ]
private static boolean date_data_type_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "date_data_type_real_1_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
// [ ( WITH | WITHOUT ) 'TIME' 'ZONE' ]
private static boolean date_data_type_real_1_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "date_data_type_real_1_2")) return false;
date_data_type_real_1_2_0(builder_, level_ + 1);
return true;
}
// ( WITH | WITHOUT ) 'TIME' 'ZONE'
private static boolean date_data_type_real_1_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "date_data_type_real_1_2_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = date_data_type_real_1_2_0_0(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, "TIME");
result_ = result_ && consumeToken(builder_, "ZONE");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// WITH | WITHOUT
private static boolean date_data_type_real_1_2_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "date_data_type_real_1_2_0_0")) return false;
boolean result_;
result_ = consumeToken(builder_, WITH);
if (!result_) result_ = consumeToken(builder_, WITHOUT);
return result_;
}
/* ********************************************************** */
// <> | 'SECOND' [ LP digit RP ]
public static boolean end_field_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "end_field_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, END_FIELD, "");
result_ = nonSecondPrimaryDatetimeFieldExt(builder_, level_ + 1, HsqlParser::non_second_primary_datetime_field_real);
if (!result_) result_ = end_field_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// 'SECOND' [ LP digit RP ]
private static boolean end_field_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "end_field_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "SECOND");
result_ = result_ && end_field_real_1_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP digit RP ]
private static boolean end_field_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "end_field_real_1_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
/* ********************************************************** */
// { 'NUMERIC' | 'DECIMAL' | 'DEC' } [ LP <> [ COMMA <> ] RP ]
public static boolean fixed_point_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "fixed_point_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, FIXED_POINT_DATA_TYPE, "");
result_ = fixed_point_data_type_real_0(builder_, level_ + 1);
result_ = result_ && fixed_point_data_type_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// 'NUMERIC' | 'DECIMAL' | 'DEC'
private static boolean fixed_point_data_type_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "fixed_point_data_type_real_0")) return false;
boolean result_;
result_ = consumeToken(builder_, "NUMERIC");
if (!result_) result_ = consumeToken(builder_, "DECIMAL");
if (!result_) result_ = consumeToken(builder_, "DEC");
return result_;
}
// [ LP <> [ COMMA <> ] RP ]
private static boolean fixed_point_data_type_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "fixed_point_data_type_real_1")) return false;
fixed_point_data_type_real_1_0(builder_, level_ + 1);
return true;
}
// LP <> [ COMMA <> ] RP
private static boolean fixed_point_data_type_real_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "fixed_point_data_type_real_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, LP);
result_ = result_ && precisionExt(builder_, level_ + 1, HsqlParser::precision_real);
result_ = result_ && fixed_point_data_type_real_1_0_2(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ COMMA <> ]
private static boolean fixed_point_data_type_real_1_0_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "fixed_point_data_type_real_1_0_2")) return false;
fixed_point_data_type_real_1_0_2_0(builder_, level_ + 1);
return true;
}
// COMMA <>
private static boolean fixed_point_data_type_real_1_0_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "fixed_point_data_type_real_1_0_2_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, COMMA);
result_ = result_ && scaleExt(builder_, level_ + 1, HsqlParser::scale_real);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// ( 'RANGE' | 'ROWS' | 'GROUPS' )
// (
// BETWEEN (
// 'UNBOUNDED' 'PRECEDING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
// ) AND (
// 'UNBOUNDED' 'FOLLOWING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
// ) |
// 'UNBOUNDED' 'PRECEDING' |
// 'CURRENT' ROW |
// <> 'PRECEDING'
// ) [ 'EXCLUDE' NO 'OTHERS' | 'EXCLUDE' 'CURRENT' ROW | 'EXCLUDE' GROUP | 'EXCLUDE' 'TIES' ]
public static boolean frame_spec_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real")) return false;
boolean result_, pinned_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, FRAME_SPEC, "");
result_ = frame_spec_real_0(builder_, level_ + 1);
pinned_ = result_; // pin = 1
result_ = result_ && report_error_(builder_, frame_spec_real_1(builder_, level_ + 1));
result_ = pinned_ && frame_spec_real_2(builder_, level_ + 1) && result_;
exit_section_(builder_, level_, marker_, result_, pinned_, null);
return result_ || pinned_;
}
// 'RANGE' | 'ROWS' | 'GROUPS'
private static boolean frame_spec_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_0")) return false;
boolean result_;
result_ = consumeToken(builder_, "RANGE");
if (!result_) result_ = consumeToken(builder_, "ROWS");
if (!result_) result_ = consumeToken(builder_, "GROUPS");
return result_;
}
// BETWEEN (
// 'UNBOUNDED' 'PRECEDING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
// ) AND (
// 'UNBOUNDED' 'FOLLOWING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
// ) |
// 'UNBOUNDED' 'PRECEDING' |
// 'CURRENT' ROW |
// <> 'PRECEDING'
private static boolean frame_spec_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = frame_spec_real_1_0(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_1(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_2(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_3(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// BETWEEN (
// 'UNBOUNDED' 'PRECEDING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
// ) AND (
// 'UNBOUNDED' 'FOLLOWING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
// )
private static boolean frame_spec_real_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, BETWEEN);
result_ = result_ && frame_spec_real_1_0_1(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, AND);
result_ = result_ && frame_spec_real_1_0_3(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'UNBOUNDED' 'PRECEDING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
private static boolean frame_spec_real_1_0_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = frame_spec_real_1_0_1_0(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_0_1_1(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_0_1_2(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_0_1_3(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'UNBOUNDED' 'PRECEDING'
private static boolean frame_spec_real_1_0_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "UNBOUNDED");
result_ = result_ && consumeToken(builder_, "PRECEDING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CURRENT' ROW
private static boolean frame_spec_real_1_0_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_1_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "CURRENT");
result_ = result_ && consumeToken(builder_, ROW);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> 'PRECEDING'
private static boolean frame_spec_real_1_0_1_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_1_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = expr(builder_, level_ + 1, -1);
result_ = result_ && consumeToken(builder_, "PRECEDING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> 'FOLLOWING'
private static boolean frame_spec_real_1_0_1_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_1_3")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = expr(builder_, level_ + 1, -1);
result_ = result_ && consumeToken(builder_, "FOLLOWING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'UNBOUNDED' 'FOLLOWING' |
// 'CURRENT' ROW |
// <> 'PRECEDING' |
// <> 'FOLLOWING'
private static boolean frame_spec_real_1_0_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_3")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = frame_spec_real_1_0_3_0(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_0_3_1(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_0_3_2(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_1_0_3_3(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'UNBOUNDED' 'FOLLOWING'
private static boolean frame_spec_real_1_0_3_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_3_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "UNBOUNDED");
result_ = result_ && consumeToken(builder_, "FOLLOWING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CURRENT' ROW
private static boolean frame_spec_real_1_0_3_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_3_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "CURRENT");
result_ = result_ && consumeToken(builder_, ROW);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> 'PRECEDING'
private static boolean frame_spec_real_1_0_3_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_3_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = expr(builder_, level_ + 1, -1);
result_ = result_ && consumeToken(builder_, "PRECEDING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> 'FOLLOWING'
private static boolean frame_spec_real_1_0_3_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_0_3_3")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = expr(builder_, level_ + 1, -1);
result_ = result_ && consumeToken(builder_, "FOLLOWING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'UNBOUNDED' 'PRECEDING'
private static boolean frame_spec_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "UNBOUNDED");
result_ = result_ && consumeToken(builder_, "PRECEDING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'CURRENT' ROW
private static boolean frame_spec_real_1_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "CURRENT");
result_ = result_ && consumeToken(builder_, ROW);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> 'PRECEDING'
private static boolean frame_spec_real_1_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_1_3")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = expr(builder_, level_ + 1, -1);
result_ = result_ && consumeToken(builder_, "PRECEDING");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ 'EXCLUDE' NO 'OTHERS' | 'EXCLUDE' 'CURRENT' ROW | 'EXCLUDE' GROUP | 'EXCLUDE' 'TIES' ]
private static boolean frame_spec_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_2")) return false;
frame_spec_real_2_0(builder_, level_ + 1);
return true;
}
// 'EXCLUDE' NO 'OTHERS' | 'EXCLUDE' 'CURRENT' ROW | 'EXCLUDE' GROUP | 'EXCLUDE' 'TIES'
private static boolean frame_spec_real_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_2_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = frame_spec_real_2_0_0(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_2_0_1(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_2_0_2(builder_, level_ + 1);
if (!result_) result_ = frame_spec_real_2_0_3(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'EXCLUDE' NO 'OTHERS'
private static boolean frame_spec_real_2_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_2_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "EXCLUDE");
result_ = result_ && consumeToken(builder_, NO);
result_ = result_ && consumeToken(builder_, "OTHERS");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'EXCLUDE' 'CURRENT' ROW
private static boolean frame_spec_real_2_0_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_2_0_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "EXCLUDE");
result_ = result_ && consumeToken(builder_, "CURRENT");
result_ = result_ && consumeToken(builder_, ROW);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'EXCLUDE' GROUP
private static boolean frame_spec_real_2_0_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_2_0_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "EXCLUDE");
result_ = result_ && consumeToken(builder_, GROUP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// 'EXCLUDE' 'TIES'
private static boolean frame_spec_real_2_0_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "frame_spec_real_2_0_3")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "EXCLUDE");
result_ = result_ && consumeToken(builder_, "TIES");
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// GENERATED ( ( (ALWAYS | BY DEFAULT) AS 'IDENTITY' ) | (ALWAYS AS <>) )
public static boolean generated_clause_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "generated_clause_real")) return false;
if (!nextTokenIs(builder_, GENERATED)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, GENERATED);
result_ = result_ && generated_clause_real_1(builder_, level_ + 1);
exit_section_(builder_, marker_, GENERATED_CLAUSE, result_);
return result_;
}
// ( (ALWAYS | BY DEFAULT) AS 'IDENTITY' ) | (ALWAYS AS <>)
private static boolean generated_clause_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "generated_clause_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = generated_clause_real_1_0(builder_, level_ + 1);
if (!result_) result_ = generated_clause_real_1_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// (ALWAYS | BY DEFAULT) AS 'IDENTITY'
private static boolean generated_clause_real_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "generated_clause_real_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = generated_clause_real_1_0_0(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, AS);
result_ = result_ && consumeToken(builder_, "IDENTITY");
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ALWAYS | BY DEFAULT
private static boolean generated_clause_real_1_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "generated_clause_real_1_0_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, ALWAYS);
if (!result_) result_ = parseTokens(builder_, 0, BY, DEFAULT);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ALWAYS AS <>
private static boolean generated_clause_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "generated_clause_real_1_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeTokens(builder_, 0, ALWAYS, AS);
result_ = result_ && expr(builder_, level_ + 1, -1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// [ <>>> ] ( INSERT | MERGE ) INTO [ <>>> DOT ] <>>> [ AS <>>> ] [ LP <>>> ( COMMA <>>> ) * RP ] [ <> ] <>>>
public static boolean insert_stmt_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real")) return false;
boolean result_, pinned_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, INSERT_STMT, "");
result_ = insert_stmt_real_0(builder_, level_ + 1);
result_ = result_ && insert_stmt_real_1(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, INTO);
result_ = result_ && insert_stmt_real_3(builder_, level_ + 1);
result_ = result_ && tableNameExt(builder_, level_ + 1, insert_stmt_real_4_0_parser_);
pinned_ = result_; // pin = 5
result_ = result_ && report_error_(builder_, insert_stmt_real_5(builder_, level_ + 1));
result_ = pinned_ && report_error_(builder_, insert_stmt_real_6(builder_, level_ + 1)) && result_;
result_ = pinned_ && report_error_(builder_, insert_stmt_real_7(builder_, level_ + 1)) && result_;
result_ = pinned_ && insertStmtValuesExt(builder_, level_ + 1, insert_stmt_real_8_0_parser_) && result_;
exit_section_(builder_, level_, marker_, result_, pinned_, null);
return result_ || pinned_;
}
// [ <>>> ]
private static boolean insert_stmt_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_0")) return false;
withClauseExt(builder_, level_ + 1, insert_stmt_real_0_0_0_parser_);
return true;
}
// INSERT | MERGE
private static boolean insert_stmt_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_1")) return false;
boolean result_;
result_ = consumeToken(builder_, INSERT);
if (!result_) result_ = consumeToken(builder_, MERGE);
return result_;
}
// [ <>>> DOT ]
private static boolean insert_stmt_real_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_3")) return false;
insert_stmt_real_3_0(builder_, level_ + 1);
return true;
}
// <>>> DOT
private static boolean insert_stmt_real_3_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_3_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = databaseNameExt(builder_, level_ + 1, insert_stmt_real_3_0_0_0_parser_);
result_ = result_ && consumeToken(builder_, DOT);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ AS <>>> ]
private static boolean insert_stmt_real_5(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_5")) return false;
insert_stmt_real_5_0(builder_, level_ + 1);
return true;
}
// AS <>>>
private static boolean insert_stmt_real_5_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_5_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, AS);
result_ = result_ && tableAliasExt(builder_, level_ + 1, insert_stmt_real_5_0_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP <>>> ( COMMA <>>> ) * RP ]
private static boolean insert_stmt_real_6(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_6")) return false;
insert_stmt_real_6_0(builder_, level_ + 1);
return true;
}
// LP <>>> ( COMMA <>>> ) * RP
private static boolean insert_stmt_real_6_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_6_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, LP);
result_ = result_ && columnNameExt(builder_, level_ + 1, insert_stmt_real_6_0_1_0_parser_);
result_ = result_ && insert_stmt_real_6_0_2(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ( COMMA <>>> ) *
private static boolean insert_stmt_real_6_0_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_6_0_2")) return false;
while (true) {
int pos_ = current_position_(builder_);
if (!insert_stmt_real_6_0_2_0(builder_, level_ + 1)) break;
if (!empty_element_parsed_guard_(builder_, "insert_stmt_real_6_0_2", pos_)) break;
}
return true;
}
// COMMA <>>>
private static boolean insert_stmt_real_6_0_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_6_0_2_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, COMMA);
result_ = result_ && columnNameExt(builder_, level_ + 1, insert_stmt_real_6_0_2_0_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ <> ]
private static boolean insert_stmt_real_7(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "insert_stmt_real_7")) return false;
mergeKeySelectorExt(builder_, level_ + 1, HsqlParser::merge_key_selector_real);
return true;
}
/* ********************************************************** */
// 'INTEGER' | 'INT'
public static boolean int_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "int_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, INT_DATA_TYPE, "");
result_ = consumeToken(builder_, "INTEGER");
if (!result_) result_ = consumeToken(builder_, "INT");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// 'INTERVAL' <>
public static boolean interval_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "interval_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, INTERVAL_DATA_TYPE, "");
result_ = consumeToken(builder_, "INTERVAL");
result_ = result_ && intervalQualifierExt(builder_, level_ + 1, HsqlParser::interval_qualifier_real);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// <> TO <> | <>
public static boolean interval_qualifier_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "interval_qualifier_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, INTERVAL_QUALIFIER, "");
result_ = interval_qualifier_real_0(builder_, level_ + 1);
if (!result_) result_ = singleDatetimeFieldExt(builder_, level_ + 1, HsqlParser::single_datetime_field_real);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// <> TO <>
private static boolean interval_qualifier_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "interval_qualifier_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = startFieldExt(builder_, level_ + 1, HsqlParser::start_field_real);
result_ = result_ && consumeToken(builder_, TO);
result_ = result_ && endFieldExt(builder_, level_ + 1, HsqlParser::end_field_real);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// KEY LP <>>> RP
public static boolean merge_key_selector_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "merge_key_selector_real")) return false;
if (!nextTokenIs(builder_, KEY)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeTokens(builder_, 0, KEY, LP);
result_ = result_ && columnNameExt(builder_, level_ + 1, merge_key_selector_real_2_0_parser_);
result_ = result_ && consumeToken(builder_, RP);
exit_section_(builder_, marker_, MERGE_KEY_SELECTOR, result_);
return result_;
}
/* ********************************************************** */
// 'K' | 'M' | 'G'
public static boolean multiplier_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "multiplier_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, MULTIPLIER, "");
result_ = consumeToken(builder_, "K");
if (!result_) result_ = consumeToken(builder_, "M");
if (!result_) result_ = consumeToken(builder_, "G");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// 'YEAR' | 'MONTH' | 'DAY' | 'HOUR' | 'MINUTE'
public static boolean non_second_primary_datetime_field_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "non_second_primary_datetime_field_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, NON_SECOND_PRIMARY_DATETIME_FIELD, "");
result_ = consumeToken(builder_, "YEAR");
if (!result_) result_ = consumeToken(builder_, "MONTH");
if (!result_) result_ = consumeToken(builder_, "DAY");
if (!result_) result_ = consumeToken(builder_, "HOUR");
if (!result_) result_ = consumeToken(builder_, "MINUTE");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// <> | <> | <> | <> | <> | <>
public static boolean overrides_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "overrides_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, OVERRIDES, "");
result_ = typeNameExt(builder_, level_ + 1, HsqlParser::type_name_real);
if (!result_) result_ = columnConstraintExt(builder_, level_ + 1, HsqlParser::column_constraint_real);
if (!result_) result_ = bindParameterExt(builder_, level_ + 1, HsqlParser::bind_parameter_real);
if (!result_) result_ = insertStmtExt(builder_, level_ + 1, HsqlParser::insert_stmt_real);
if (!result_) result_ = resultColumnExt(builder_, level_ + 1, HsqlParser::result_column_real);
if (!result_) result_ = generatedClauseExt(builder_, level_ + 1, HsqlParser::generated_clause_real);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// digit
public static boolean precision_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "precision_real")) return false;
if (!nextTokenIs(builder_, DIGIT)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, DIGIT);
exit_section_(builder_, marker_, PRECISION, result_);
return result_;
}
/* ********************************************************** */
// MULTIPLY
// | <>>> DOT MULTIPLY
// | (<> | <>) [ [ AS ] <>>> ]
public static boolean result_column_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "result_column_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, RESULT_COLUMN, "");
result_ = consumeToken(builder_, MULTIPLY);
if (!result_) result_ = result_column_real_1(builder_, level_ + 1);
if (!result_) result_ = result_column_real_2(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// <>>> DOT MULTIPLY
private static boolean result_column_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "result_column_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = tableNameExt(builder_, level_ + 1, result_column_real_1_0_0_parser_);
result_ = result_ && consumeTokens(builder_, 0, DOT, MULTIPLY);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// (<> | <>) [ [ AS ] <>>> ]
private static boolean result_column_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "result_column_real_2")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = result_column_real_2_0(builder_, level_ + 1);
result_ = result_ && result_column_real_2_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> | <>
private static boolean result_column_real_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "result_column_real_2_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = windowFunctionInvocationExt(builder_, level_ + 1, HsqlParser::window_function_invocation_real);
if (!result_) result_ = expr(builder_, level_ + 1, -1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ [ AS ] <>>> ]
private static boolean result_column_real_2_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "result_column_real_2_1")) return false;
result_column_real_2_1_0(builder_, level_ + 1);
return true;
}
// [ AS ] <>>>
private static boolean result_column_real_2_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "result_column_real_2_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = result_column_real_2_1_0_0(builder_, level_ + 1);
result_ = result_ && columnAliasExt(builder_, level_ + 1, result_column_real_2_1_0_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ AS ]
private static boolean result_column_real_2_1_0_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "result_column_real_2_1_0_0")) return false;
consumeToken(builder_, AS);
return true;
}
/* ********************************************************** */
// <>
static boolean root(PsiBuilder builder_, int level_) {
return overridesExt(builder_, level_ + 1, HsqlParser::overrides_real);
}
/* ********************************************************** */
// digit
public static boolean scale_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "scale_real")) return false;
if (!nextTokenIs(builder_, DIGIT)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, DIGIT);
exit_section_(builder_, marker_, SCALE, result_);
return result_;
}
/* ********************************************************** */
// <> [ LP digit RP ] | 'SECOND' [ LP digit [ COMMA digit ] RP ]
public static boolean single_datetime_field_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "single_datetime_field_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, SINGLE_DATETIME_FIELD, "");
result_ = single_datetime_field_real_0(builder_, level_ + 1);
if (!result_) result_ = single_datetime_field_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// <> [ LP digit RP ]
private static boolean single_datetime_field_real_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "single_datetime_field_real_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = nonSecondPrimaryDatetimeFieldExt(builder_, level_ + 1, HsqlParser::non_second_primary_datetime_field_real);
result_ = result_ && single_datetime_field_real_0_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP digit RP ]
private static boolean single_datetime_field_real_0_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "single_datetime_field_real_0_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
// 'SECOND' [ LP digit [ COMMA digit ] RP ]
private static boolean single_datetime_field_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "single_datetime_field_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "SECOND");
result_ = result_ && single_datetime_field_real_1_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ LP digit [ COMMA digit ] RP ]
private static boolean single_datetime_field_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "single_datetime_field_real_1_1")) return false;
single_datetime_field_real_1_1_0(builder_, level_ + 1);
return true;
}
// LP digit [ COMMA digit ] RP
private static boolean single_datetime_field_real_1_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "single_datetime_field_real_1_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeTokens(builder_, 0, LP, DIGIT);
result_ = result_ && single_datetime_field_real_1_1_0_2(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ COMMA digit ]
private static boolean single_datetime_field_real_1_1_0_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "single_datetime_field_real_1_1_0_2")) return false;
parseTokens(builder_, 0, COMMA, DIGIT);
return true;
}
/* ********************************************************** */
// 'SMALLINT'
public static boolean small_int_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "small_int_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, SMALL_INT_DATA_TYPE, "");
result_ = consumeToken(builder_, "SMALLINT");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// <> [ LP digit RP ]
public static boolean start_field_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "start_field_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, START_FIELD, "");
result_ = nonSecondPrimaryDatetimeFieldExt(builder_, level_ + 1, HsqlParser::non_second_primary_datetime_field_real);
result_ = result_ && start_field_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// [ LP digit RP ]
private static boolean start_field_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "start_field_real_1")) return false;
parseTokens(builder_, 0, LP, DIGIT, RP);
return true;
}
/* ********************************************************** */
// 'TINYINT'
public static boolean tiny_int_data_type_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "tiny_int_data_type_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, TINY_INT_DATA_TYPE, "");
result_ = consumeToken(builder_, "TINYINT");
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// <> |
// <> |
// <> |
// <> |
// <> |
// <> |
// <> |
// <> |
// <> |
// <> |
// <> |
// <>
public static boolean type_name_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "type_name_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, TYPE_NAME, "");
result_ = tinyIntDataTypeExt(builder_, level_ + 1, HsqlParser::tiny_int_data_type_real);
if (!result_) result_ = smallIntDataTypeExt(builder_, level_ + 1, HsqlParser::small_int_data_type_real);
if (!result_) result_ = intDataTypeExt(builder_, level_ + 1, HsqlParser::int_data_type_real);
if (!result_) result_ = bigIntDataTypeExt(builder_, level_ + 1, HsqlParser::big_int_data_type_real);
if (!result_) result_ = fixedPointDataTypeExt(builder_, level_ + 1, HsqlParser::fixed_point_data_type_real);
if (!result_) result_ = approximateNumericDataTypeExt(builder_, level_ + 1, HsqlParser::approximate_numeric_data_type_real);
if (!result_) result_ = booleanDataTypeExt(builder_, level_ + 1, HsqlParser::boolean_data_type_real);
if (!result_) result_ = dateDataTypeExt(builder_, level_ + 1, HsqlParser::date_data_type_real);
if (!result_) result_ = characterStringDataTypeExt(builder_, level_ + 1, HsqlParser::character_string_data_type_real);
if (!result_) result_ = binaryStringDataTypeExt(builder_, level_ + 1, HsqlParser::binary_string_data_type_real);
if (!result_) result_ = bitStringDataTypeExt(builder_, level_ + 1, HsqlParser::bit_string_data_type_real);
if (!result_) result_ = intervalDataTypeExt(builder_, level_ + 1, HsqlParser::interval_data_type_real);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// LP [ <> ]
// [ PARTITION BY <> ( COMMA <> ) * ]
// [ ORDER BY <>>> ( COMMA <>>> ) * ]
// [ <> ]
// RP
public static boolean window_defn_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real")) return false;
if (!nextTokenIs(builder_, LP)) return false;
boolean result_, pinned_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, WINDOW_DEFN, null);
result_ = consumeToken(builder_, LP);
pinned_ = result_; // pin = 1
result_ = result_ && report_error_(builder_, window_defn_real_1(builder_, level_ + 1));
result_ = pinned_ && report_error_(builder_, window_defn_real_2(builder_, level_ + 1)) && result_;
result_ = pinned_ && report_error_(builder_, window_defn_real_3(builder_, level_ + 1)) && result_;
result_ = pinned_ && report_error_(builder_, window_defn_real_4(builder_, level_ + 1)) && result_;
result_ = pinned_ && consumeToken(builder_, RP) && result_;
exit_section_(builder_, level_, marker_, result_, pinned_, null);
return result_ || pinned_;
}
// [ <> ]
private static boolean window_defn_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_1")) return false;
baseWindowNameExt(builder_, level_ + 1, HsqlParser::base_window_name_real);
return true;
}
// [ PARTITION BY <> ( COMMA <> ) * ]
private static boolean window_defn_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_2")) return false;
window_defn_real_2_0(builder_, level_ + 1);
return true;
}
// PARTITION BY <> ( COMMA <> ) *
private static boolean window_defn_real_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_2_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeTokens(builder_, 0, PARTITION, BY);
result_ = result_ && expr(builder_, level_ + 1, -1);
result_ = result_ && window_defn_real_2_0_3(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ( COMMA <> ) *
private static boolean window_defn_real_2_0_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_2_0_3")) return false;
while (true) {
int pos_ = current_position_(builder_);
if (!window_defn_real_2_0_3_0(builder_, level_ + 1)) break;
if (!empty_element_parsed_guard_(builder_, "window_defn_real_2_0_3", pos_)) break;
}
return true;
}
// COMMA <>
private static boolean window_defn_real_2_0_3_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_2_0_3_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, COMMA);
result_ = result_ && expr(builder_, level_ + 1, -1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ ORDER BY <>>> ( COMMA <>>> ) * ]
private static boolean window_defn_real_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_3")) return false;
window_defn_real_3_0(builder_, level_ + 1);
return true;
}
// ORDER BY <>>> ( COMMA <>>> ) *
private static boolean window_defn_real_3_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_3_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeTokens(builder_, 0, ORDER, BY);
result_ = result_ && orderingTermExt(builder_, level_ + 1, window_defn_real_3_0_2_0_parser_);
result_ = result_ && window_defn_real_3_0_3(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ( COMMA <>>> ) *
private static boolean window_defn_real_3_0_3(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_3_0_3")) return false;
while (true) {
int pos_ = current_position_(builder_);
if (!window_defn_real_3_0_3_0(builder_, level_ + 1)) break;
if (!empty_element_parsed_guard_(builder_, "window_defn_real_3_0_3", pos_)) break;
}
return true;
}
// COMMA <>>>
private static boolean window_defn_real_3_0_3_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_3_0_3_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, COMMA);
result_ = result_ && orderingTermExt(builder_, level_ + 1, window_defn_real_3_0_3_0_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ <> ]
private static boolean window_defn_real_4(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_defn_real_4")) return false;
frameSpecExt(builder_, level_ + 1, HsqlParser::frame_spec_real);
return true;
}
/* ********************************************************** */
// id
public static boolean window_func_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_func_real")) return false;
if (!nextTokenIs(builder_, ID)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, ID);
exit_section_(builder_, marker_, WINDOW_FUNC, result_);
return result_;
}
/* ********************************************************** */
// <> LP [ MULTIPLY | ( <> ( COMMA <> ) * ) ] RP [ 'FILTER' LP WHERE <> RP] 'OVER' ( <> | <>)
public static boolean window_function_invocation_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real")) return false;
boolean result_, pinned_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, WINDOW_FUNCTION_INVOCATION, "");
result_ = windowFuncExt(builder_, level_ + 1, HsqlParser::window_func_real);
result_ = result_ && consumeToken(builder_, LP);
result_ = result_ && window_function_invocation_real_2(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, RP);
result_ = result_ && window_function_invocation_real_4(builder_, level_ + 1);
result_ = result_ && consumeToken(builder_, "OVER");
pinned_ = result_; // pin = 6
result_ = result_ && window_function_invocation_real_6(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, pinned_, null);
return result_ || pinned_;
}
// [ MULTIPLY | ( <> ( COMMA <> ) * ) ]
private static boolean window_function_invocation_real_2(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_2")) return false;
window_function_invocation_real_2_0(builder_, level_ + 1);
return true;
}
// MULTIPLY | ( <> ( COMMA <> ) * )
private static boolean window_function_invocation_real_2_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_2_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, MULTIPLY);
if (!result_) result_ = window_function_invocation_real_2_0_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> ( COMMA <> ) *
private static boolean window_function_invocation_real_2_0_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_2_0_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = expr(builder_, level_ + 1, -1);
result_ = result_ && window_function_invocation_real_2_0_1_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ( COMMA <> ) *
private static boolean window_function_invocation_real_2_0_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_2_0_1_1")) return false;
while (true) {
int pos_ = current_position_(builder_);
if (!window_function_invocation_real_2_0_1_1_0(builder_, level_ + 1)) break;
if (!empty_element_parsed_guard_(builder_, "window_function_invocation_real_2_0_1_1", pos_)) break;
}
return true;
}
// COMMA <>
private static boolean window_function_invocation_real_2_0_1_1_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_2_0_1_1_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, COMMA);
result_ = result_ && expr(builder_, level_ + 1, -1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// [ 'FILTER' LP WHERE <> RP]
private static boolean window_function_invocation_real_4(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_4")) return false;
window_function_invocation_real_4_0(builder_, level_ + 1);
return true;
}
// 'FILTER' LP WHERE <> RP
private static boolean window_function_invocation_real_4_0(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_4_0")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "FILTER");
result_ = result_ && consumeTokens(builder_, 0, LP, WHERE);
result_ = result_ && expr(builder_, level_ + 1, -1);
result_ = result_ && consumeToken(builder_, RP);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// <> | <>
private static boolean window_function_invocation_real_6(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_function_invocation_real_6")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = windowDefnExt(builder_, level_ + 1, HsqlParser::window_defn_real);
if (!result_) result_ = windowNameExt(builder_, level_ + 1, HsqlParser::window_name_real);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// id
public static boolean window_name_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "window_name_real")) return false;
if (!nextTokenIs(builder_, ID)) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, ID);
exit_section_(builder_, marker_, WINDOW_NAME, result_);
return result_;
}
static final Parser bind_parameter_real_1_1_1_0_parser_ = (builder_, level_) -> identifier_real(builder_, level_ + 1);
static final Parser column_constraint_real_0_0_1_0_parser_ = bind_parameter_real_1_1_1_0_parser_;
static final Parser column_constraint_real_1_1_3_0_parser_ = (builder_, level_) -> conflict_clause_real(builder_, level_ + 1);
static final Parser column_constraint_real_1_2_2_0_parser_ = column_constraint_real_1_1_3_0_parser_;
static final Parser column_constraint_real_1_3_1_0_parser_ = column_constraint_real_1_1_3_0_parser_;
static final Parser column_constraint_real_1_4_0_parser_ = (builder_, level_) -> check_constraint_real(builder_, level_ + 1);
static final Parser column_constraint_real_1_6_0_parser_ = (builder_, level_) -> default_constraint_real(builder_, level_ + 1);
static final Parser column_constraint_real_1_7_1_0_parser_ = (builder_, level_) -> collation_name_real(builder_, level_ + 1);
static final Parser column_constraint_real_1_8_0_parser_ = (builder_, level_) -> foreign_key_clause_real(builder_, level_ + 1);
static final Parser insert_stmt_real_0_0_0_parser_ = (builder_, level_) -> with_clause_real(builder_, level_ + 1);
static final Parser insert_stmt_real_3_0_0_0_parser_ = (builder_, level_) -> database_name_real(builder_, level_ + 1);
static final Parser insert_stmt_real_4_0_parser_ = (builder_, level_) -> table_name_real(builder_, level_ + 1);
static final Parser insert_stmt_real_5_0_1_0_parser_ = (builder_, level_) -> table_alias_real(builder_, level_ + 1);
static final Parser insert_stmt_real_6_0_1_0_parser_ = (builder_, level_) -> column_name_real(builder_, level_ + 1);
static final Parser insert_stmt_real_6_0_2_0_1_0_parser_ = insert_stmt_real_6_0_1_0_parser_;
static final Parser insert_stmt_real_8_0_parser_ = (builder_, level_) -> insert_stmt_values_real(builder_, level_ + 1);
static final Parser merge_key_selector_real_2_0_parser_ = insert_stmt_real_6_0_1_0_parser_;
static final Parser result_column_real_1_0_0_parser_ = insert_stmt_real_4_0_parser_;
static final Parser result_column_real_2_1_0_1_0_parser_ = (builder_, level_) -> column_alias_real(builder_, level_ + 1);
static final Parser window_defn_real_3_0_2_0_parser_ = (builder_, level_) -> ordering_term_real(builder_, level_ + 1);
static final Parser window_defn_real_3_0_3_0_1_0_parser_ = window_defn_real_3_0_2_0_parser_;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy