public ImmutableDataInsertActionNode(
     IQsiTreeNode parent,
     IQsiTableDirectivesNode directives,
     IQsiTableAccessNode target,
     QsiQualifiedIdentifier[] partitions,
     QsiQualifiedIdentifier[] columns,
     IQsiRowValueExpressionNode[] values,
     IQsiSetColumnExpressionNode[] setValues,
     IQsiTableNode valueTable,
     QsiDataConflictBehavior conflictBehavior,
     IQsiDataConflictActionNode conflictAction,
     IUserDataHolder userData)
 {
     Parent           = parent;
     Directives       = directives;
     Target           = target;
     Partitions       = partitions;
     Columns          = columns;
     Values           = values;
     SetValues        = setValues;
     ValueTable       = valueTable;
     ConflictBehavior = conflictBehavior;
     ConflictAction   = conflictAction;
     UserData         = userData;
 }
Ejemplo n.º 2
0
        protected override void DeparseTableNode(ScriptWriter writer, IQsiTableNode node, QsiScript script)
        {
            switch (node)
            {
            case ImpalaTableReferenceNode tableReferenceNode:
                DeparseImpalaTableReferenceNode(writer, tableReferenceNode, script);
                break;

            case ImpalaValuesTableNode valuesTableNode:
                DeparseImpalaValuesTableNode(writer, valuesTableNode, script);
                break;

            case ImpalaDerivedTableNode derivedTableNode:
                DeparseImpalaDerivedTableNode(writer, derivedTableNode, script);
                break;

            case ImpalaJoinedTableNode joinedTableNode:
                DeparseImpalaJoinedTableNode(writer, joinedTableNode, script);
                break;

            default:
                base.DeparseTableNode(writer, node, script);
                break;
            }
        }
Ejemplo n.º 3
0
        protected override IQsiTableNode ReassembleCommonTableNode(IQsiTableNode node)
        {
            switch (node)
            {
            case IHanaDerivedTableNode derivedTableNode:
                return(new ImmutableHanaDerivedTableNode(
                           derivedTableNode.Parent,
                           derivedTableNode.Directives,
                           derivedTableNode.Columns,
                           derivedTableNode.Source,
                           null,
                           derivedTableNode.Where,
                           derivedTableNode.Grouping,
                           derivedTableNode.Order,
                           derivedTableNode.Limit,
                           derivedTableNode.Top,
                           derivedTableNode.Operation,
                           derivedTableNode.Sampling,
                           derivedTableNode.Behavior,
                           derivedTableNode.TimeTravel,
                           derivedTableNode.Hint,
                           null
                           ));
            }

            return(base.ReassembleCommonTableNode(node));
        }
Ejemplo n.º 4
0
 public ImmutableHanaDerivedTableNode(
     IQsiTreeNode parent,
     IQsiTableDirectivesNode directives,
     IQsiColumnsDeclarationNode columns,
     IQsiTableNode source,
     IQsiAliasNode alias,
     IQsiWhereExpressionNode @where,
     IQsiGroupingExpressionNode grouping,
     IQsiMultipleOrderExpressionNode order,
     IQsiLimitExpressionNode limit,
     QsiExpressionNode top,
     HanaResultSetOperation?operation,
     QsiExpressionFragmentNode sampling,
     HanaTableBehaviorNode behavior,
     QsiExpressionFragmentNode timeTravel,
     QsiExpressionFragmentNode hint,
     IUserDataHolder userData)
 {
     Parent     = parent;
     Directives = directives;
     Columns    = columns;
     Source     = source;
     Alias      = alias;
     Where      = @where;
     Grouping   = grouping;
     Order      = order;
     Limit      = limit;
     Top        = top;
     Operation  = operation;
     Sampling   = sampling;
     Behavior   = behavior;
     TimeTravel = timeTravel;
     Hint       = hint;
     UserData   = userData;
 }
 public ImmutableDataDeleteActionNode(
     IQsiTreeNode parent,
     IQsiTableNode target,
     QsiQualifiedIdentifier[] columns,
     IUserDataHolder userData)
 {
     Parent   = parent;
     Target   = target;
     Columns  = columns;
     UserData = userData;
 }
 public ImmutableDataUpdateActionNode(
     IQsiTreeNode parent,
     IQsiTableNode target,
     IQsiSetColumnExpressionNode[] setValues,
     IUserDataHolder userData)
 {
     Parent    = parent;
     Target    = target;
     SetValues = setValues;
     UserData  = userData;
 }
Ejemplo n.º 7
0
 public ImmutableSqlServerBinaryTableNode(
     IQsiTreeNode parent,
     IQsiTableNode left,
     SqlServerBinaryTableType binaryTableType,
     IQsiTableNode right,
     IUserDataHolder userData)
 {
     Parent          = parent;
     Left            = left;
     BinaryTableType = binaryTableType;
     Right           = right;
     UserData        = userData;
 }
Ejemplo n.º 8
0
        protected override IQsiTableNode ReassembleCommonTableNode(IQsiTableNode node)
        {
            switch (node)
            {
            case ISqlServerBinaryTableNode binaryTableNode:
                return(new ImmutableSqlServerBinaryTableNode(
                           binaryTableNode.Parent,
                           binaryTableNode.Left,
                           binaryTableNode.BinaryTableType,
                           binaryTableNode.Right,
                           binaryTableNode.UserData));
            }

            return(base.ReassembleCommonTableNode(node));
        }
 public ImmutableJoinedTableNode(
     IQsiTreeNode parent,
     IQsiTableNode left,
     QsiJoinType joinType,
     IQsiTableNode right,
     IQsiColumnsDeclarationNode pivotColumns,
     IUserDataHolder userData)
 {
     Parent       = parent;
     Left         = left;
     JoinType     = joinType;
     Right        = right;
     PivotColumns = pivotColumns;
     UserData     = userData;
 }
Ejemplo n.º 10
0
 public ImmutableJoinedTableNode(
     IQsiTreeNode parent,
     IQsiTableNode left,
     string joinType,
     bool isNatural,
     bool isComma,
     IQsiTableNode right,
     IQsiColumnsDeclarationNode pivotColumns,
     IUserDataHolder userData)
 {
     Parent       = parent;
     Left         = left;
     JoinType     = joinType;
     IsNatural    = isNatural;
     IsComma      = isComma;
     Right        = right;
     PivotColumns = pivotColumns;
     UserData     = userData;
 }
Ejemplo n.º 11
0
 public ImmutableDerivedTableNode(
     IQsiTreeNode parent,
     IQsiTableDirectivesNode directives,
     IQsiColumnsDeclarationNode columns,
     IQsiTableNode source,
     IQsiAliasNode alias,
     IQsiWhereExpressionNode @where,
     IQsiGroupingExpressionNode grouping,
     IQsiMultipleOrderExpressionNode order,
     IQsiLimitExpressionNode limit,
     IUserDataHolder userData)
 {
     Parent     = parent;
     Directives = directives;
     Columns    = columns;
     Source     = source;
     Alias      = alias;
     Where      = @where;
     Grouping   = grouping;
     Order      = order;
     Limit      = limit;
     UserData   = userData;
 }
Ejemplo n.º 12
0
        protected override void DeparseTableNode(ScriptWriter writer, IQsiTableNode node, QsiScript script)
        {
            switch (node)
            {
            case HanaAssociationTableNode hanaAssociationTableNode:
                DeparseHanaAssociationTableNode(writer, hanaAssociationTableNode, script);
                break;

            case HanaTableReferenceNode hanaTableReferenceNode:
                DeparseHanaTableReferenceNode(writer, hanaTableReferenceNode, script);
                break;

            case IHanaDerivedTableNode hanaDerivedTableNode:
                DeparseHanaDerivedTableNode(writer, hanaDerivedTableNode, script);
                break;

            case HanaCaseJoinTableNode hanaCaseJoinTableNode:
                DeparseHanaCaseJoinTableNode(writer, hanaCaseJoinTableNode, script);
                break;

            case HanaCaseJoinWhenTableNode hanaCaseJoinWhenTableNode:
                DeparseHanaCaseJoinWhenTableNode(writer, hanaCaseJoinWhenTableNode, script);
                break;

            case HanaCaseJoinElseTableNode hanaCaseJoinElseTableNode:
                DeparseHanaCaseJoinElseTableNode(writer, hanaCaseJoinElseTableNode, script);
                break;

            case HanaLateralTableNode hanaLateralTableNode:
                DeparseHanaLateralTableNode(writer, hanaLateralTableNode, script);
                break;

            default:
                base.DeparseTableNode(writer, node, script);
                break;
            }
        }
Ejemplo n.º 13
0
        public override ValueTask <QsiTableStructure> BuildTableStructure(TableCompileContext context, IQsiTableNode table)
        {
            if (table is ImpalaValuesTableNode valuesTableNode)
            {
                return(BuildImpalaValuesTableStructure(context, valuesTableNode));
            }

            return(base.BuildTableStructure(context, table));
        }
Ejemplo n.º 14
0
        public async ValueTask <QsiTableStructure> BuildTableStructure(TableCompileContext context, IQsiTableNode table)
        {
            context.ThrowIfCancellationRequested();

            switch (table)
            {
            case IQsiTableAccessNode tableAccess:
                return(await BuildTableAccessStructure(context, tableAccess));

            case IQsiDerivedTableNode derivedTable:
                return(await BuildDerivedTableStructure(context, derivedTable));

            case IQsiInlineDerivedTableNode inlineDerivedTableNode:
                return(await BuildInlineDerivedTableStructure(context, inlineDerivedTableNode));

            case IQsiJoinedTableNode joinedTable:
                return(await BuildJoinedTableStructure(context, joinedTable));

            case IQsiCompositeTableNode compositeTable:
                return(await BuildCompositeTableStructure(context, compositeTable));
            }

            throw new InvalidOperationException();
        }
Ejemplo n.º 15
0
 public ImmutableTableExpressionNode(IQsiTreeNode parent, IQsiTableNode table, IUserDataHolder userData)
 {
     Parent   = parent;
     Table    = table;
     UserData = userData;
 }