/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.Backend.Core/Execution/ExecutionStatistic.cs
82 строки
2 KB
Ivan Kozhin
Make column index one-based
17 янв 2024, 15:53
17 янв 2024, 15:53
4c75baf
Код
Авторство
О чём код?
namespace QueryCat.Backend.Core.Execution; /// <summary> /// Execution statistic. /// </summary> public abstract class ExecutionStatistic { /// <summary> /// Detailed row error info. /// </summary> public readonly struct RowErrorInfo( ErrorCode errorCode, long rowIndex, int columnIndex, string? value = null) { /// <summary> /// One-based row index. /// </summary> public long RowIndex { get; } = rowIndex; /// <summary> /// One-based column index. /// </summary> public int ColumnIndex { get; } = columnIndex; /// <summary> /// Error code. /// </summary> public ErrorCode ErrorCode { get; } = errorCode; /// <summary> /// Wrong value. /// </summary> public string Value { get; } = value ?? string.Empty; public RowErrorInfo(ErrorCode errorCode) : this(errorCode, -1, -1) { } } /// <summary> /// Query processing execution time. /// </summary> public TimeSpan ExecutionTime { get; set; } /// <summary> /// Total number of processed rows. /// </summary> public long ProcessedCount { get; set; } /// <summary> /// Errors count. /// </summary> public long ErrorsCount { get; protected set; } /// <summary> /// Does it have errors. /// </summary> public bool HasErrors => ErrorsCount > 0; /// <summary> /// Add error to the query statistic. /// </summary> /// <param name="info">Error info.</param> public abstract void AddError(in RowErrorInfo info); /// <summary> /// Reset statistic. /// </summary> public virtual void Clear() { ExecutionTime = TimeSpan.Zero; ProcessedCount = 0; ErrorsCount = 0; } /// <summary> /// Dump statistic as string. /// </summary> public abstract string Dump(); }