83 std::vector<unsigned char>
fBlob;
88 void SqliteError(
int errcode);
90 std::unique_ptr<Internal::RSqliteDSDataSet>
fDataSet;
99 static constexpr char const *fgTypeNames[] = {
103 "std::vector<unsigned char>",
109 RSqliteDS(
const std::string &fileName,
const std::string &query);
117 void SetNSlots(
unsigned int nSlots) final;
118 const std::vector<std::
string> &GetColumnNames() const final;
119 bool HasColumn(std::string_view colName) const final;
120 std::
string GetTypeName(std::string_view colName) const final;
122 bool SetEntry(
unsigned int slot,
ULong64_t entry) final;
123 void Initialize() final;
124 std::
string GetLabel() final;
127 GetColumnReaders(
unsigned int slot, std::string_view colName, const std::type_info &tid) final;
130 Record_t GetColumnReadersImpl(std::string_view
name, const std::type_info &) final;
133RDataFrame FromSqlite(std::string_view fileName, std::string_view query);
long long Long64_t
Portable signed long integer 8 bytes.
unsigned long long ULong64_t
Portable unsigned long integer 8 bytes.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Pure virtual base class for all column reader types.
void * GetImpl(Long64_t) final
RSqliteDSColumnReader(void *valuePtr)
RDataSource defines an API that RDataFrame can use to read arbitrary data formats.
std::vector< void * > Record_t
RSqliteDS is an RDF data source implementation for SQL result sets from sqlite3 files.
RSqliteDS & operator=(RSqliteDS &&)=delete
RSqliteDS & operator=(const RSqliteDS &)=delete
RSqliteDS(RSqliteDS &&)=delete
std::vector< std::string > fColumnNames
RSqliteDS(const RSqliteDS &)=delete
std::vector< ETypes > fColumnTypes
ETypes
All the types known to SQlite. Changes require changing fgTypeNames, too.
std::unique_ptr< Internal::RSqliteDSDataSet > fDataSet
std::vector< Value_t > fValues
The data source is inherently single-threaded and returns only one row at a time. This vector holds t...
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...
The state of an open dataset in terms of the sqlite3 C library.
Used to hold a single "cell" of the SELECT query's result table. Can be changed to std::variant once ...
void * fPtr
Points to one of the values; an address to this pointer is returned by GetColumnReadersImpl.
std::vector< unsigned char > fBlob
bool fIsActive
Not all columns of the query are necessarily used by the RDF. Allows for skipping them.