/// <summary> /// Write the textual representation of the record schema to the writer. /// </summary> /// <remarks>If the header or records have already been written, this call is ignored.</remarks> public async Task WriteSchemaAsync() { if (isSchemaWritten) { return; } await recordWriter.WriteSchemaAsync(); await recordWriter.WriteRecordSeparatorAsync(); ++recordWriter.Metadata.RecordCount; isSchemaWritten = true; }
/// <summary> /// Write the textual representation of the record schema to the writer. /// </summary> /// <remarks>If the header or records have already been written, this call is ignored.</remarks> public async Task WriteSchemaAsync() { if (isSchemaWritten) { return; } await recordWriter.WriteSchemaAsync().ConfigureAwait(false); await recordWriter.WriteRecordSeparatorAsync().ConfigureAwait(false); ++recordWriter.Metadata.PhysicalRecordNumber; isSchemaWritten = true; }
/// <summary> /// Writes the textual representation of the given values to the writer. /// </summary> /// <param name="values">The values to write.</param> /// <exception cref="ArgumentNullException">The values array is null.</exception> public async Task WriteAsync(object[] values) { if (values == null) { throw new ArgumentNullException(nameof(values)); } if (isFirstLine) { if (recordWriter.Options.IsFirstRecordHeader) { await recordWriter.WriteSchemaAsync(); await recordWriter.WriteRecordSeparatorAsync(); } isFirstLine = false; } await recordWriter.WriteRecordAsync(values); await recordWriter.WriteRecordSeparatorAsync(); }