16 #ifndef __DATA_SOURCE_MODIFIERS_SQL_MODIFIER_H__
17 #define __DATA_SOURCE_MODIFIERS_SQL_MODIFIER_H__
19 #include "data_management/data_source/modifiers/modifier.h"
23 namespace data_management
48 class ConfigIface :
public modifiers::ConfigIface { };
55 class Config :
public Base,
public ConfigIface { };
61 class ContextIface :
public modifiers::ContextIface
68 virtual size_t getNumberOfColumns()
const = 0;
75 virtual services::BufferView<char> getRawValue(
size_t columnIndex)
const = 0;
83 class Context :
public Base,
public ContextIface
87 T getValue(
size_t columnIndex)
const
94 const services::BufferView<char> rawValue = getRawValue(columnIndex);
95 DAAL_ASSERT( rawValue.size() ==
sizeof(T) );
96 return *( (
const T *)(rawValue.data()) );
104 class FeatureModifierIface :
public modifiers::FeatureModifierIface<Config, Context> { };
105 typedef services::SharedPtr<FeatureModifierIface> FeatureModifierIfacePtr;
111 class FeatureModifier :
public Base,
public FeatureModifierIface
118 virtual void initialize(Config &config) DAAL_C11_OVERRIDE { }
124 virtual void finalize(Config &config) DAAL_C11_OVERRIDE { }
126 typedef services::SharedPtr<FeatureModifier> FeatureModifierPtr;
132 services::StringView Context::getValue<services::StringView>(
size_t columnIndex)
const
134 const services::BufferView<char> buffer = getRawValue(columnIndex);
135 return services::StringView( buffer.data(), buffer.size() );
139 std::string Context::getValue<std::string>(
size_t columnIndex)
const
141 const services::BufferView<char> buffer = getRawValue(columnIndex);
142 return std::string( buffer.data(), buffer.size() );
146 std::vector<char> Context::getValue<std::vector<char> >(
size_t columnIndex)
const
148 const services::BufferView<char> buffer = getRawValue(columnIndex);
149 return std::vector<char>( buffer.data(), buffer.data() + buffer.size() );
155 using interface1::Config;
156 using interface1::Context;
157 using interface1::FeatureModifierIface;
158 using interface1::FeatureModifierIfacePtr;
159 using interface1::FeatureModifier;
160 using interface1::FeatureModifierPtr;
daal
Definition: algorithm_base_common.h:31
daal::data_management::modifiers::sql::interface1::ConfigIface
Abstract class that defines interface of modifier configuration.
Definition: sql/modifier.h:48
daal::data_management::modifiers::sql::interface1::ContextIface
Abstract class that defines interface of modifier context.
Definition: sql/modifier.h:61
daal::data_management::modifiers::sql::interface1::FeatureModifier::finalize
virtual void finalize(Config &config) DAAL_C11_OVERRIDE
Definition: sql/modifier.h:124
daal::data_management::modifiers::sql::interface1::FeatureModifierIface
Specialization of modifiers::FeatureModifierIface for SQL feature modifier.
Definition: sql/modifier.h:104
daal::data_management::modifiers::sql::interface1::ContextIface::getNumberOfColumns
virtual size_t getNumberOfColumns() const =0
daal::data_management::modifiers::sql::interface1::Config
Base class that represents modifier configuration, object of that class is passed to the modifier on ...
Definition: sql/modifier.h:55
daal::data_management::modifiers::sql::interface1::Context
Base class that represents modifier context, object of that class is passed to the modifier as an arg...
Definition: sql/modifier.h:83
daal::data_management::modifiers::sql::interface1::ContextIface::getRawValue
virtual services::BufferView< char > getRawValue(size_t columnIndex) const =0
Gets the raw buffer retrieved from SQL table.
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:39
daal::data_management::modifiers::sql::interface1::FeatureModifier::initialize
virtual void initialize(Config &config) DAAL_C11_OVERRIDE
Definition: sql/modifier.h:118
daal::data_management::modifiers::sql::interface1::FeatureModifier
Base class for feature modifier, intended for inheritance from the user side.
Definition: sql/modifier.h:111