private void DeparseImpalaValuesTableNode(ScriptWriter writer, ImpalaValuesTableNode node, QsiScript script) { writer.Write("VALUES "); writer.WriteJoin(", ", node.Rows, (w, row) => { DeparseTreeNode(w, row, script); }); if (!node.Order.IsEmpty) { writer.WriteSpace(); DeparseTreeNode(writer, node.Order.Value, script); } if (!node.Order.IsEmpty) { writer.WriteSpace(); DeparseTreeNode(writer, node.Order.Value, script); } if (!node.Limit.IsEmpty) { writer.WriteSpace(); DeparseTreeNode(writer, node.Limit.Value, script); } }
private ValueTask <QsiTableStructure> BuildImpalaValuesTableStructure(TableCompileContext context, ImpalaValuesTableNode table) { if (table.Rows.Count == 0) { throw new QsiException(QsiError.Syntax); } var structure = new QsiTableStructure { Type = QsiTableType.Inline }; var columnCount = table.Rows[0].ColumnValues.Count; foreach (var value in table.Rows[0].ColumnValues) { var column = structure.NewColumn(); if (value is IQsiColumnExpressionNode { Column: IQsiDerivedColumnNode { Alias: { } } derivedColumnNode })