public static QsiExpressionNode VisitCident(CidentContext context) { var node = new QsiColumnExpressionNode(); node.Column.SetValue(TableVisitor.VisitCident(context)); CqlTree.PutContextSpan(node, context); return(node); }
public static QsiViewDefinitionNode VisitCreateMaterializedViewStatement(CreateMaterializedViewStatementContext context) { var node = new QsiViewDefinitionNode { Identifier = context.cf.id }; node.Source.SetValue(TableVisitor.VisitCommonSelectStatement(new CommonSelectStatementContext(context))); CqlTree.PutContextSpan(node, context); return(node); }
public static QsiActionNode VisitInsertStatement(InsertStatementContext context) { var node = new CqlDataInsertActionNode(); UsingClauseContext usingClause; bool ifNotExists; node.Target.SetValue(TableVisitor.VisitColumnFamilyName(context.cf)); if (context.st1 != null) { node.Columns = context.st1.cidentList().list .Select(i => new QsiQualifiedIdentifier(i)) .ToArray(); var rowNode = new QsiRowValueExpressionNode(); rowNode.ColumnValues.AddRange(context.st1._values.Select(ExpressionVisitor.VisitTerm)); // TODO: CqlTree.PutContextSpan(rowNode, context.st1...); node.Values.Add(rowNode); ifNotExists = context.st1.ifNotExists; usingClause = context.st1.usingClause(); } else { var jsonValue = context.st2.jsonValue().s.raw; (QsiQualifiedIdentifier[] columns, var row) = JsonToRowValue(jsonValue); node.Columns = columns; node.Values.Add(row); node.DefaultValue = context.st2.defaultValue; ifNotExists = context.st2.ifNotExists; usingClause = context.st2.usingClause(); } node.ConflictBehavior = ifNotExists ? QsiDataConflictBehavior.None : QsiDataConflictBehavior.Update; if (usingClause != null) { node.Usings.SetValue(ExpressionVisitor.VisitUsingClause(context.st2.usingClause())); } CqlTree.PutContextSpan(node, context); return(node); }
public static QsiExpressionNode VisitUnaliasedSelector(UnaliasedSelectorContext context) { return(ConvertToExpression(TableVisitor.VisitUnaliasedSelector(context))); }
public static QsiExpressionNode VisitSelectionGroupWithoutField(SelectionGroupWithoutFieldContext context) { return(ConvertToExpression(TableVisitor.VisitSelectionGroupWithoutField(context))); }