internal static Cell FromTsCell(TsCell tsc, TsColumnType tsct) { if (tsc.boolean_valueSpecified) { return(new Cell(tsc.boolean_value)); } else if (tsc.double_valueSpecified) { return(new Cell(tsc.double_value)); } else if (tsc.sint64_valueSpecified) { return(new Cell(tsc.sint64_value)); } else if (tsc.timestamp_valueSpecified) { return(new Cell(tsc.timestamp_value, isUnixTimestamp: true)); } else if (tsc.varchar_valueSpecified) { switch (tsct) { case TsColumnType.BLOB: return(new Cell(tsc.varchar_value, ColumnType.Blob)); case TsColumnType.VARCHAR: return(new Cell(tsc.varchar_value, ColumnType.Varchar)); default: return(new Cell(tsc.varchar_value, ColumnType.Varchar)); } } return(new Cell()); }
internal Row(TsRow tsr, TsColumnDescription[] tscols = null) { Cell[] cary = new Cell[tsr.cells.Count]; for (int i = 0; i < tsr.cells.Count; ++i) { TsCell tsc = tsr.cells[i]; TsColumnType tsct = TsColumnType.VARCHAR; if (EnumerableUtil.NotNullOrEmpty(tscols)) { tsct = tscols[i].type; } Cell c = Cell.FromTsCell(tsc, tsct); cary[i] = c; } cells = cary; }