20 using PgValue = std::optional<std::string_view>;
25 const std::vector<InferredColumn>&
columns);
29 void add_row(
const std::vector<std::string>&
row);
40 pqxx::connection& connection_;
41 pqxx::work& transaction_;
42 std::string table_name_;
43 std::vector<InferredColumn> columns_;
44 std::vector<std::string> column_names_;
45 std::unique_ptr<pqxx::stream_to> stream_;
46 bool completed_ =
false;
48 std::uint64_t rows_loaded_ = 0;
49 std::uint64_t rows_skipped_type_mismatch_ = 0;
53 void append_value(
const csv::CSVRow&
row, std::size_t index, std::vector<PgValue>& values)
const;
54 void append_value(std::string_view
value, std::vector<PgValue>& values)
const;
55 void write_values(std::vector<PgValue>& values);
Definition row_loader.hpp:18
std::uint64_t rows_loaded() const
Definition row_loader.hpp:34
std::optional< std::string_view > PgValue
Definition row_loader.hpp:20
void add_rows(const std::vector< csv::CSVRow > &rows)
Definition row_loader.cpp:80
std::uint64_t rows_skipped_type_mismatch() const
Definition row_loader.hpp:35
~RowLoader()
Definition row_loader.cpp:148
void add_row(const csv::CSVRow &row)
Definition row_loader.cpp:42
void flush()
Definition row_loader.cpp:102
Definition commands.hpp:16