#include "writePqCopyStrm.h" #include namespace MyGrate::Output::Pq { WritePqCopyStream::WritePqCopyStream(FILE * o) : out {o} { } void WritePqCopyStream::nextRecord() { fputc('\n', out); } void WritePqCopyStream::nextField() { fputc('\t', out); } void WritePqCopyStream::operator()(std::nullptr_t) const { fputs("\\N", out); } void WritePqCopyStream::operator()(timespec) const { throw std::logic_error("timespec not implemented"); } void WritePqCopyStream::operator()(Date v) const { fprintf(out, "%d-%d-%d", v.year, v.month, v.day); } void WritePqCopyStream::operator()(Time v) const { fprintf(out, "%d:%d:%d", v.hour, v.minute, v.second); } void WritePqCopyStream::operator()(DateTime v) const { operator()(static_cast(v)); fputc('T', out); operator()(static_cast