Class import_export::Detector¶
-
class
Detector
: public import_export::DataStreamSink¶ Public Functions
-
Detector
(const boost::filesystem::path &fp, CopyParams &cp)¶
-
std::vector<std::string>
get_headers
()¶
-
std::vector<std::vector<std::string>>
get_sample_rows
(size_t n)¶
-
std::vector<SQLTypeInfo>
getBestColumnTypes
() const¶
Public Static Functions
-
SQLTypes
detect_sqltype
(const std::string &str)¶
Public Static Attributes
-
constexpr size_t
kDefaultSampleRowsCount
= {100}¶
Private Functions
-
void
init
()¶
-
void
read_file
()¶
-
void
detect_row_delimiter
()¶
-
void
split_raw_data
()¶
-
std::vector<SQLTypes>
detect_column_types
(const std::vector<std::string> &row)¶
-
void
find_best_sqltypes
()¶
-
std::vector<SQLTypes>
find_best_sqltypes
(const std::vector<std::vector<std::string>> &raw_rows, const CopyParams ©_params)¶
-
std::vector<SQLTypes>
find_best_sqltypes
(const std::vector<std::vector<std::string>>::const_iterator &row_begin, const std::vector<std::vector<std::string>>::const_iterator &row_end, const CopyParams ©_params)¶
-
std::vector<EncodingType>
find_best_encodings
(const std::vector<std::vector<std::string>>::const_iterator &row_begin, const std::vector<std::vector<std::string>>::const_iterator &row_end, const std::vector<SQLTypes> &best_types)¶
-
bool
detect_headers
(const std::vector<SQLTypes> &first_types, const std::vector<SQLTypes> &rest_types)¶
-
void
find_best_sqltypes_and_headers
()¶
-
ImportStatus
importDelimited
(const std::string &file_path, const bool decompressed, const Catalog_Namespace::SessionInfo *session_info)¶
Private Members
-
std::string
raw_data
¶
-
boost::filesystem::path
file_path
¶
-
std::chrono::duration<double>
timeout
= {1}¶
-
std::string
line1
¶
-
std::vector<SQLTypes>
best_sqltypes
¶
-
std::vector<EncodingType>
best_encodings
¶
Private Static Functions
-
bool
more_restrictive_sqltype
(const SQLTypes a, const SQLTypes b)¶
-