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); }
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); } }