/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.Backend/Storage/RowsOutputExtensions.cs
49 строк
2 KB
Ivan Kozhin
Add web server simple files serve support
29 дек 2023, 15:31
29 дек 2023, 15:31
e594cd1
Код
Авторство
О чём код?
using QueryCat.Backend.Core.Data; using QueryCat.Backend.Relational.Iterators; namespace QueryCat.Backend.Storage; /// <summary> /// Extensions for <see cref="IRowsOutput" />. /// </summary> public static class RowsOutputExtensions { /// <summary> /// Write rows iterator into output. /// </summary> /// <param name="output">Rows output.</param> /// <param name="iterator">Rows iterator.</param> /// <param name="adjustColumnsLengths">Should update columns widths.</param> public static void Write(this IRowsOutput output, IRowsIterator iterator, bool adjustColumnsLengths = false) { output.Open(); try { output.QueryContext = new RowsOutputQueryContext(iterator.Columns); if (adjustColumnsLengths) { iterator = new AdjustColumnsLengthsIterator(iterator); } while (iterator.MoveNext()) { output.WriteValues(iterator.Current.Values); } } finally { output.Close(); } } /// <summary> /// Write rows iterator into output. /// </summary> /// <param name="output">Rows output.</param> /// <param name="input">Rows input.</param> /// <param name="adjustColumnsLengths">Should update columns widths.</param> public static void Write(this IRowsOutput output, IRowsInput input, bool adjustColumnsLengths = false) { Write(output, new RowsInputIterator(input), adjustColumnsLengths); } }