public IQsiTreeNode Parse(QsiScript script, CancellationToken cancellationToken = default) { var stream = new AntlrInputStream(script.Script); var lexer = new CqlLexerInternal(stream); var tokens = new CommonTokenStream(lexer); var parser = new CqlParserInternal(tokens); parser.AddErrorListener(new ErrorListener()); var statement = parser.cqlStatement().children[0]; switch (statement) { case SelectStatementContext selectStatement: return(TableVisitor.VisitSelectStatement(selectStatement)); case CreateMaterializedViewStatementContext createMaterializedViewStatement: return(DefinitionVisitor.VisitCreateMaterializedViewStatement(createMaterializedViewStatement)); case UseStatementContext useStatement: return(ActionVisitor.VisitUseStatement(useStatement)); case InsertStatementContext insertStatement: return(ActionVisitor.VisitInsertStatement(insertStatement)); case UpdateStatementContext updateStatement: return(ActionVisitor.VisitUpdateStatement(updateStatement)); case DeleteStatementContext deleteStatement: return(ActionVisitor.VisitDeleteStatement(deleteStatement)); default: throw TreeHelper.NotSupportedTree(statement); } }
public SqlServerParser(TransactSqlVersion transactSqlVersion) { _parser = new TSqlParserInternal(transactSqlVersion, false); _tableVisitor = CreateTableVisitor(); _expressionVisitor = CreateExpressionVisitor(); _identifierVisitor = CreateIdentifierVisitor(); _actionVisitor = CreateActionVisitor(); _definitionVisitor = CreateDefinitionVisitor(); }
private IQsiDefinitionNode ParseDataDefinitionStatementStatement(DataDefinitionStatementContext statement) { switch (statement.children[0]) { case CreateViewStatementContext createViewStatement: return(DefinitionVisitor.VisitCreateViewStatement(createViewStatement)); default: throw TreeHelper.NotSupportedTree(statement.children[0]); } }
public IQsiTreeNode Parse(QsiScript script, CancellationToken cancellationToken = default) { var result = PhoenixSqlParserInternal.Parse(script.Script); switch (result) { case SelectStatement selectStatement: return(TableVisitor.VisitSelectStatement(selectStatement)); case CreateTableStatement { TableType: PTableType.View } createTableStatement: return(DefinitionVisitor.VisitCreateViewStatement(createTableStatement)); case IDMLStatement dmlStatement: return(ActionVisitor.Visit(dmlStatement)); case UseSchemaStatement useSchemaStatement: return(ActionVisitor.VisitUseSchemaStatement(useSchemaStatement)); } throw TreeHelper.NotSupportedTree(result); }
public IQsiTreeNode Parse(QsiScript script, CancellationToken cancellationToken = default) { var parser = MySQLUtility.CreateParser(script.Script, _version); var query = parser.query(); if (query.children[0] is not SimpleStatementContext simpleStatement) { return(null); } switch (simpleStatement.children[0]) { case SelectStatementContext selectStatement: return(TableVisitor.VisitSelectStatement(selectStatement)); case CreateStatementContext createStatement: return(DefinitionVisitor.VisitCreateStatement(createStatement)); case DeleteStatementContext deleteStatement: return(ActionVisitor.VisitDeleteStatement(deleteStatement)); case ReplaceStatementContext replaceStatement: return(ActionVisitor.VisitReplaceStatement(replaceStatement)); case UpdateStatementContext updateStatement: return(ActionVisitor.VisitUpdateStatement(updateStatement)); case InsertStatementContext insertStatement: return(ActionVisitor.VisitInsertStatement(insertStatement)); case UtilityStatementContext utilityStatement: return(ParseUtilityStatement(utilityStatement)); default: throw TreeHelper.NotSupportedTree(simpleStatement.children[0]); } }