18 #ifndef __DATA_SOURCE_MODIFIERS_SQL_MODIFIER_H__
19 #define __DATA_SOURCE_MODIFIERS_SQL_MODIFIER_H__
21 #include "data_management/data_source/modifiers/modifier.h"
25 namespace data_management
50 class ConfigIface :
public modifiers::ConfigIface { };
57 class Config :
public Base,
public ConfigIface { };
63 class ContextIface :
public modifiers::ContextIface
70 virtual size_t getNumberOfColumns()
const = 0;
77 virtual services::BufferView<char> getRawValue(
size_t columnIndex)
const = 0;
85 class Context :
public Base,
public ContextIface
89 T getValue(
size_t columnIndex)
const
96 const services::BufferView<char> rawValue = getRawValue(columnIndex);
97 DAAL_ASSERT( rawValue.size() ==
sizeof(T) );
98 return *( (
const T *)(rawValue.data()) );
106 class FeatureModifierIface :
public modifiers::FeatureModifierIface<Config, Context> { };
107 typedef services::SharedPtr<FeatureModifierIface> FeatureModifierIfacePtr;
113 class FeatureModifier :
public Base,
public FeatureModifierIface
120 virtual void initialize(Config &config) DAAL_C11_OVERRIDE { }
126 virtual void finalize(Config &config) DAAL_C11_OVERRIDE { }
128 typedef services::SharedPtr<FeatureModifier> FeatureModifierPtr;
134 services::StringView Context::getValue<services::StringView>(
size_t columnIndex)
const
136 const services::BufferView<char> buffer = getRawValue(columnIndex);
137 return services::StringView( buffer.data(), buffer.size() );
141 std::string Context::getValue<std::string>(
size_t columnIndex)
const
143 const services::BufferView<char> buffer = getRawValue(columnIndex);
144 return std::string( buffer.data(), buffer.size() );
148 std::vector<char> Context::getValue<std::vector<char> >(
size_t columnIndex)
const
150 const services::BufferView<char> buffer = getRawValue(columnIndex);
151 return std::vector<char>( buffer.data(), buffer.data() + buffer.size() );
157 using interface1::Config;
158 using interface1::Context;
159 using interface1::FeatureModifierIface;
160 using interface1::FeatureModifierIfacePtr;
161 using interface1::FeatureModifier;
162 using interface1::FeatureModifierPtr;
daal::data_management::modifiers::sql::interface1::FeatureModifier
Base class for feature modifier, intended for inheritance from the user side.
Definition: sql/modifier.h:113
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:41
daal::data_management::modifiers::sql::interface1::FeatureModifier::finalize
virtual void finalize(Config &config) DAAL_C11_OVERRIDE
Definition: sql/modifier.h:126
daal::data_management::modifiers::sql::interface1::FeatureModifierIface
Specialization of modifiers::FeatureModifierIface for SQL feature modifier.
Definition: sql/modifier.h:106
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::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:85
daal::data_management::modifiers::sql::interface1::ConfigIface
Abstract class that defines interface of modifier configuration.
Definition: sql/modifier.h:50
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:57
daal::data_management::modifiers::sql::interface1::FeatureModifier::initialize
virtual void initialize(Config &config) DAAL_C11_OVERRIDE
Definition: sql/modifier.h:120
daal::data_management::modifiers::sql::interface1::ContextIface::getNumberOfColumns
virtual size_t getNumberOfColumns() const =0
daal::data_management::modifiers::sql::interface1::ContextIface
Abstract class that defines interface of modifier context.
Definition: sql/modifier.h:63