From ac3f0ce2683906db908d861e3f93700d8ac0f6d6 Mon Sep 17 00:00:00 2001 From: Parth Chandra Date: Wed, 7 Jun 2017 11:09:10 -0700 Subject: DRILL-5431: SSL Support (C++) - Refactoring of C++ client. Move classes out of drillclient to their own files Fix build on MacOS to suppress warnings from boost code Refactoring of user properties to use a map --- .../native/client/src/clientlib/drillClient.cpp | 155 +-------------------- 1 file changed, 2 insertions(+), 153 deletions(-) (limited to 'contrib/native/client/src/clientlib/drillClient.cpp') diff --git a/contrib/native/client/src/clientlib/drillClient.cpp b/contrib/native/client/src/clientlib/drillClient.cpp index 8eb909b49..429a17886 100644 --- a/contrib/native/client/src/clientlib/drillClient.cpp +++ b/contrib/native/client/src/clientlib/drillClient.cpp @@ -17,25 +17,19 @@ */ #include -#include #include "drill/common.hpp" #include "drill/drillClient.hpp" #include "drill/fieldmeta.hpp" #include "drill/recordBatch.hpp" +#include "drill/userProperties.hpp" #include "drillClientImpl.hpp" +#include "env.h" #include "errmsgs.hpp" #include "logger.hpp" #include "Types.pb.h" namespace Drill{ -DrillClientError* DrillClientError::getErrorObject(const exec::shared::DrillPBError& e){ - std::string s=Drill::getMessage(ERR_QRY_FAILURE, e.message().c_str()); - DrillClientError* err=NULL; - err=new DrillClientError(QRY_FAILURE, QRY_ERROR_START+QRY_FAILURE, s); - return err; -} - DrillClientInitializer::DrillClientInitializer(){ GOOGLE_PROTOBUF_VERIFY_VERSION; srand(time(NULL)); @@ -45,151 +39,6 @@ DrillClientInitializer::~DrillClientInitializer(){ google::protobuf::ShutdownProtobufLibrary(); } -// Initialize static member of DrillClientConfig -logLevel_t DrillClientConfig::s_logLevel=LOG_ERROR; -const char* DrillClientConfig::s_saslPluginPath = NULL; -uint64_t DrillClientConfig::s_bufferLimit=MAX_MEM_ALLOC_SIZE; -int32_t DrillClientConfig::s_socketTimeout=0; -int32_t DrillClientConfig::s_handshakeTimeout=5; -int32_t DrillClientConfig::s_queryTimeout=180; -int32_t DrillClientConfig::s_heartbeatFrequency=15; // 15 seconds -std::string DrillClientConfig::s_clientName(DRILL_CONNECTOR_NAME); -std::string DrillClientConfig::s_applicationName; - -boost::mutex DrillClientConfig::s_mutex; - -DrillClientConfig::DrillClientConfig(){ - // Do not initialize logging. The Logger object is static and may - // not have been initialized yet - //initLogging(NULL); -} - -DrillClientConfig::~DrillClientConfig(){ -} - -void DrillClientConfig::initLogging(const char* path){ - getLogger().init(path); -} - -void DrillClientConfig::setLogLevel(logLevel_t l){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_logLevel=l; - getLogger().m_level=l; - //boost::log::core::get()->set_filter(boost::log::trivial::severity >= s_logLevel); -} - -void DrillClientConfig::setSaslPluginPath(const char *path){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_saslPluginPath = path; -} - -const char* DrillClientConfig::getSaslPluginPath(){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_saslPluginPath; -} - -void DrillClientConfig::setBufferLimit(uint64_t l){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_bufferLimit=l; -} - -uint64_t DrillClientConfig::getBufferLimit(){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_bufferLimit; -} - -void DrillClientConfig::setSocketTimeout(int32_t t){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_socketTimeout=t; -} - -void DrillClientConfig::setHandshakeTimeout(int32_t t){ - if (t > 0) { - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_handshakeTimeout = t; - } -} - -void DrillClientConfig::setQueryTimeout(int32_t t){ - if (t>0){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_queryTimeout=t; - } -} - -void DrillClientConfig::setHeartbeatFrequency(int32_t t){ - if (t>=0){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_heartbeatFrequency=t; - } -} - -int32_t DrillClientConfig::getSocketTimeout(){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_socketTimeout; -} - -int32_t DrillClientConfig::getHandshakeTimeout(){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_handshakeTimeout; -} - -int32_t DrillClientConfig::getQueryTimeout(){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_queryTimeout; -} - -int32_t DrillClientConfig::getHeartbeatFrequency(){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_heartbeatFrequency; -} - -logLevel_t DrillClientConfig::getLogLevel(){ - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_logLevel; -} - -const std::string& DrillClientConfig::getClientName() { - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_clientName; -} - -void DrillClientConfig::setClientName(const std::string& name) { - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_clientName = name; -} - -const std::string& DrillClientConfig::getApplicationName() { - boost::lock_guard configLock(DrillClientConfig::s_mutex); - return s_applicationName; -} - -void DrillClientConfig::setApplicationName(const std::string& name) { - boost::lock_guard configLock(DrillClientConfig::s_mutex); - s_applicationName = name; -} - -//Using boost assign to initialize maps. -const std::map DrillUserProperties::USER_PROPERTIES=boost::assign::map_list_of - ( USERPROP_USERNAME, USERPROP_FLAGS_SERVERPROP|USERPROP_FLAGS_USERNAME|USERPROP_FLAGS_STRING ) - ( USERPROP_PASSWORD, USERPROP_FLAGS_SERVERPROP|USERPROP_FLAGS_PASSWORD) - ( USERPROP_SCHEMA, USERPROP_FLAGS_SERVERPROP|USERPROP_FLAGS_STRING) - ( USERPROP_IMPERSONATION_TARGET, USERPROP_FLAGS_SERVERPROP|USERPROP_FLAGS_STRING) - ( USERPROP_AUTH_MECHANISM, USERPROP_FLAGS_STRING) - ( USERPROP_SERVICE_NAME, USERPROP_FLAGS_STRING) - ( USERPROP_SERVICE_HOST, USERPROP_FLAGS_STRING) - ( USERPROP_USESSL, USERPROP_FLAGS_BOOLEAN|USERPROP_FLAGS_SSLPROP) - ( USERPROP_FILEPATH, USERPROP_FLAGS_STRING|USERPROP_FLAGS_SSLPROP|USERPROP_FLAGS_FILEPATH) - ( USERPROP_FILENAME, USERPROP_FLAGS_STRING|USERPROP_FLAGS_SSLPROP|USERPROP_FLAGS_FILENAME) - ( USERPROP_SASL_ENCRYPT, USERPROP_FLAGS_STRING) -; - -bool DrillUserProperties::validate(std::string& err){ - bool ret=true; - //We can add additional validation for any params here - return ret; -} - RecordIterator::~RecordIterator(){ if(m_pColDefs!=NULL){ for(std::vector::iterator it=m_pColDefs->begin(); -- cgit v1.2.3