18 #include "eckit/sql/SQLTable.h"
29 template <
typename READER>
33 TODATable(eckit::sql::SQLDatabase& owner,
const std::string& path,
const std::string&
name);
34 TODATable(eckit::sql::SQLDatabase& owner, eckit::DataHandle& dh);
38 const READER&
oda()
const;
47 TODATable(eckit::sql::SQLDatabase& owner,
const std::string& path,
const std::string&
name, READER&&
oda);
51 virtual bool hasColumn(
const std::string&)
const override;
52 virtual const eckit::sql::SQLColumn&
column(
const std::string&)
const override;
54 virtual eckit::sql::SQLTableIterator*
iterator(
const std::vector<std::reference_wrapper<const eckit::sql::SQLColumn>>&,
55 std::function<
void(eckit::sql::SQLTableIterator&)> metadataUpdateCallback)
const override;
57 virtual void print(std::ostream& s)
const override;
72 ODATable(eckit::sql::SQLDatabase& owner,
const std::string& path,
const std::string&
name) :
74 ODATable(eckit::sql::SQLDatabase& owner, eckit::DataHandle& dh) :
80 ODBCSVTable(eckit::sql::SQLDatabase& owner,
const std::string& path,
const std::string&
name,
const std::string& delimiter) :
82 ODBCSVTable(eckit::sql::SQLDatabase& owner, std::istream& is,
const std::string&
name,
const std::string& delimiter) :
TODATable(eckit::sql::SQLDatabase &owner, const std::string &path, const std::string &name, READER &&oda)
TODATable(eckit::sql::SQLDatabase &owner, const std::string &path, const std::string &name)
virtual bool hasColumn(const std::string &) const override
TODATable(eckit::sql::SQLDatabase &owner, eckit::DataHandle &dh)
const READER & oda() const
virtual const eckit::sql::SQLColumn & column(const std::string &) const override
virtual void print(std::ostream &s) const override
virtual eckit::sql::SQLTableIterator * iterator(const std::vector< std::reference_wrapper< const eckit::sql::SQLColumn >> &, std::function< void(eckit::sql::SQLTableIterator &)> metadataUpdateCallback) const override
ODATable(eckit::sql::SQLDatabase &owner, const std::string &path, const std::string &name)
ODATable(eckit::sql::SQLDatabase &owner, eckit::DataHandle &dh)
ODBCSVTable(eckit::sql::SQLDatabase &owner, std::istream &is, const std::string &name, const std::string &delimiter)
ODBCSVTable(eckit::sql::SQLDatabase &owner, const std::string &path, const std::string &name, const std::string &delimiter)