Esempio n. 1
0
        protected override void DeparseOrderExpressionNode(ScriptWriter writer, IQsiOrderExpressionNode node, QsiScript script)
        {
            if (node is HanaOrderByExpressionNode hanaOrderBy)
            {
                DeparseTreeNode(writer, node.Expression, script);

                if (!hanaOrderBy.Collate.IsEmpty)
                {
                    writer.WriteSpace();
                    DeparseTreeNode(writer, hanaOrderBy.Collate.Value, script);
                }

                writer.WriteSpace();
                writer.Write(node.Order == QsiSortOrder.Ascending ? "ASC" : "DESC");

                if (hanaOrderBy.NullBehavior.HasValue)
                {
                    var first = hanaOrderBy.NullBehavior == HanaOrderByNullBehavior.NullsFirst;

                    writer.WriteSpace();
                    writer.Write(first ? "NULLS FIRST" : "NULLS LAST");
                }

                return;
            }

            base.DeparseOrderExpressionNode(writer, node, script);
        }
Esempio n. 2
0
 protected override void DeparseOrderExpressionNode(ScriptWriter writer, IQsiOrderExpressionNode node, QsiScript script)
 {
     if (node is ImpalaOrderExpressionNode impalaOrderExpressionNode)
     {
         DeparseImpalaOrderExpressionNode(writer, impalaOrderExpressionNode, script);
     }
     else
     {
         base.DeparseOrderExpressionNode(writer, node, script);
     }
 }