void IResultWriter.WriteTableEnd() { _logResultWriter.WriteTableEnd(); _jsonTextWriter.WriteEndArray(); _jsonTextWriter.Close(); _jsonTextWriter = null; }
void IResultWriter.WriteTableEnd() { _logResultWriter.WriteTableEnd(); --_htmlTextWriter.Indent; _htmlTextWriter.WriteLine(); _htmlTextWriter.WriteEndTag("table"); _htmlTextWriter.Close(); _htmlTextWriter = null; }
private void ReadTable(IDataReader dataReader, DataTable schemaTable, int tableIndex) { Assert.IsNotNull(dataReader); Assert.IsNotNull(schemaTable); Assert.IsInRange(tableIndex >= 0); using (LogFactory.Instance.GetCurrentMethodLog()) { Exception exception = null; var dataReaderHelper = _provider.CreateDataReaderHelper(dataReader); var schemaRows = schemaTable.Rows; var count = schemaRows.Count; _resultWriter.WriteTableBegin(schemaTable); var fieldCount = dataReader.FieldCount; if (fieldCount < 0) { fieldCount = 0; } var rows = new object[_rowBlockSize][]; int i; for (i = 0; i < _rowBlockSize; i++) { rows[i] = new object[fieldCount]; } _rowCount = 0; i = 0; var first = true; var exitFromWhile = false; var stopwatch = Stopwatch.StartNew(); while (!_isCommandCancelled && !_thread.IsStopRequested && !exitFromWhile) { bool read; if (first) { first = false; _resultWriter.FirstRowReadBegin(); read = dataReader.Read(); var dataTypeNames = new string[count]; if (read) { for (var j = 0; j < count; ++j) { dataTypeNames[j] = dataReader.GetDataTypeName(j); } } _resultWriter.FirstRowReadEnd(dataTypeNames); } else { try { read = dataReader.Read(); } catch (Exception e) { read = false; exception = e; } } if (read) { ++_rowCount; dataReaderHelper.GetValues(rows[i]); ++i; if (i == _rowBlockSize || stopwatch.ElapsedMilliseconds >= 5000) { _resultWriter.WriteRows(rows, i); i = 0; stopwatch.Restart(); } if (_rowCount == _maxRecords) { CancelWaitCallback(null); break; } } else { exitFromWhile = true; } } if (i != _rowBlockSize) { Log.Trace("resultWriter.WriteRows(rows,i);"); _resultWriter.WriteRows(rows, i); } Log.Write(LogLevel.Trace, "resultWriter.WriteTableEnd(rowCount);"); _resultWriter.WriteTableEnd(); if (_rowCount > 0) { ++_tableCount; } if (exception != null) { throw exception; } } }
void IResultWriter.WriteTableEnd() { _logResultWriter.WriteTableEnd(); GarbageMonitor.Default.Add("DataSetResultWriter", "System.Data.DataTable", _dataTable.Rows.Count, _dataTable); }
void IResultWriter.WriteTableEnd() { _logResultWriter.WriteTableEnd(); if (isJsonAuto) { _textWriter.Close(); _textWriter = null; using (var streamReader = new StreamReader(_path)) { using (var jsonTextReader = new JsonTextReader(streamReader)) { using (var jsonTextWriter = new JsonTextWriter(new StreamWriter(_formattedPath))) { jsonTextWriter.Formatting = Formatting.Indented; while (true) { var read = jsonTextReader.Read(); if (!read) { break; } switch (jsonTextReader.TokenType) { case JsonToken.None: break; case JsonToken.StartObject: jsonTextWriter.WriteStartObject(); break; case JsonToken.StartArray: jsonTextWriter.WriteStartArray(); break; case JsonToken.StartConstructor: break; case JsonToken.PropertyName: var propertyName = (string)jsonTextReader.Value; jsonTextWriter.WritePropertyName(propertyName); break; case JsonToken.Comment: break; case JsonToken.Raw: break; case JsonToken.Integer: { var value = jsonTextReader.Value; jsonTextWriter.WriteValue(value); } break; case JsonToken.Float: { var value = jsonTextReader.Value; jsonTextWriter.WriteValue(value); } break; case JsonToken.String: { var value = jsonTextReader.Value; jsonTextWriter.WriteValue(value); } break; case JsonToken.Boolean: { var value = jsonTextReader.Value; jsonTextWriter.WriteValue(value); } break; case JsonToken.Null: break; case JsonToken.Undefined: break; case JsonToken.EndObject: jsonTextWriter.WriteEndObject(); break; case JsonToken.EndArray: jsonTextWriter.WriteEndArray(); break; case JsonToken.EndConstructor: break; case JsonToken.Date: { var value = jsonTextReader.Value; jsonTextWriter.WriteValue(value); } break; case JsonToken.Bytes: break; default: throw new ArgumentOutOfRangeException(); } } } } } } }
void IResultWriter.WriteTableEnd() => _logResultWriter.WriteTableEnd();