public ArrayColumnWriter(string columnType, ArrayLinearizedList <T> rows, IClickHouseColumnWriter elementColumnWriter) { _rows = rows; _elementColumnWriter = elementColumnWriter; ColumnName = elementColumnWriter.ColumnName; ColumnType = columnType; }
public IClickHouseColumnWriter Dispatch <T>() { var linearizedList = new ArrayLinearizedList <T>((IReadOnlyList <IReadOnlyList <T>?>)_rows); var elementColumnWriter = _elementTypeInfo.CreateColumnWriter(_columnName, linearizedList, _columnSettings); return(new ArrayColumnWriter <T>(_columnType, linearizedList, elementColumnWriter)); }
public IClickHouseColumnWriter Dispatch <T>() { var mappedRows = new MappedReadOnlyList <Array, IReadOnlyList <T> >(_rows, arr => (IReadOnlyList <T>)_dispatchArray(arr)); var linearizedList = new ArrayLinearizedList <T>(mappedRows); var elementColumnWriter = _elementTypeInfo.CreateColumnWriter(_columnName, linearizedList, _columnSettings); return(new ArrayColumnWriter <T>(_columnType, linearizedList, elementColumnWriter)); }