From 06cbbea9792e1751fb87c3c8e3deab8bee57f7ac Mon Sep 17 00:00:00 2001 From: Oleksandr Kozachuk Date: Tue, 7 Nov 2023 14:45:54 +0000 Subject: [PATCH] Binary type implementation. --- exaudfclient/base/exaudflib/exascript.i | 1 + exaudfclient/base/exaudflib/impl/socket_high_level.cc | 8 ++++++++ .../base/exaudflib/impl/swig/swig_table_iterator.h | 4 ++-- exaudfclient/base/exaudflib/swig/swig_common.h | 2 +- exaudfclient/base/exaudflib/zmqcontainer.proto | 1 + exaudfclient/base/python/python3/python_ext_dataframe.cc | 4 ++-- 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/exaudfclient/base/exaudflib/exascript.i b/exaudfclient/base/exaudflib/exascript.i index bc6abf9bd..ac6937a06 100644 --- a/exaudfclient/base/exaudflib/exascript.i +++ b/exaudfclient/base/exaudflib/exascript.i @@ -43,6 +43,7 @@ enum SWIGVM_datatype_e { TIMESTAMP = 5, DATE = 6, STRING = 7, + BINARY = 12, BOOLEAN = 8 }; enum SWIGVM_itertype_e { diff --git a/exaudfclient/base/exaudflib/impl/socket_high_level.cc b/exaudfclient/base/exaudflib/impl/socket_high_level.cc index 4f50ecbe8..79c4ece80 100644 --- a/exaudfclient/base/exaudflib/impl/socket_high_level.cc +++ b/exaudfclient/base/exaudflib/impl/socket_high_level.cc @@ -181,6 +181,10 @@ bool exaudflib::socket_high_level::send_init(zmq::socket_t &socket, const std::s coltype.type = SWIGVMContainers::STRING; coltype.len = coldef.size(); break; + case PB_BINARY: + coltype.type = SWIGVMContainers::BINARY; + coltype.len = coldef.size(); + break; case PB_BOOLEAN: coltype.type = SWIGVMContainers::BOOLEAN; break; @@ -228,6 +232,10 @@ bool exaudflib::socket_high_level::send_init(zmq::socket_t &socket, const std::s coltype.type = SWIGVMContainers::STRING; coltype.len = coldef.size(); break; + case PB_BINARY: + coltype.type = SWIGVMContainers::BINARY; + coltype.len = coldef.size(); + break; case PB_BOOLEAN: coltype.type = SWIGVMContainers::BOOLEAN; break; diff --git a/exaudfclient/base/exaudflib/impl/swig/swig_table_iterator.h b/exaudfclient/base/exaudflib/impl/swig/swig_table_iterator.h index e7b34ed1c..ed982a548 100644 --- a/exaudfclient/base/exaudflib/impl/swig/swig_table_iterator.h +++ b/exaudfclient/base/exaudflib/impl/swig/swig_table_iterator.h @@ -60,7 +60,7 @@ class SWIGTableIterator_Impl : public AbstractSWIGTableIterator, SWIGGeneralIter case TIMESTAMP: case DATE: case STRING: m_col_offsets[current_column] = m_values_per_row.strings++; break; - case HASHTYPE: m_col_offsets[current_column] = m_values_per_row.binaries++; break; + case BINARY: m_col_offsets[current_column] = m_values_per_row.binaries++; break; case BOOLEAN: m_col_offsets[current_column] = m_values_per_row.bools++; break; default: m_exch->setException("F-UDF-CL-LIB-1058: Unknown data type found, got "+it->type); return; } @@ -249,7 +249,7 @@ class SWIGTableIterator_Impl : public AbstractSWIGTableIterator, SWIGGeneralIter m_was_null = true; return ""; } - if (m_types[col].type != HASHTYPE) { + if (m_types[col].type != BINARY) { m_exch->setException("E-UDF-CL-LIB-1069: Wrong input column type, expected BINARY, got "+ exaudflib::msg_conversion::convert_type_to_string(m_types[col].type)); m_was_null = true; diff --git a/exaudfclient/base/exaudflib/swig/swig_common.h b/exaudfclient/base/exaudflib/swig/swig_common.h index c55df5535..49e0f3f59 100644 --- a/exaudfclient/base/exaudflib/swig/swig_common.h +++ b/exaudfclient/base/exaudflib/swig/swig_common.h @@ -47,7 +47,7 @@ enum SWIGVM_datatype_e { INTERVALYM = 9, INTERVALDS = 10, GEOMETRY = 11, - HASHTYPE = 12 + BINARY = 12 }; diff --git a/exaudfclient/base/exaudflib/zmqcontainer.proto b/exaudfclient/base/exaudflib/zmqcontainer.proto index 4f9707639..d1f91be70 100644 --- a/exaudfclient/base/exaudflib/zmqcontainer.proto +++ b/exaudfclient/base/exaudflib/zmqcontainer.proto @@ -12,6 +12,7 @@ enum column_type { PB_TIMESTAMP = 5; // TIMESTAMP PB_DATE = 6; // DATE PB_STRING = 7; // CHAR or VARCHAR + PB_BINARY = 12; // HASHTYPE PB_BOOLEAN = 8; // BOOL } diff --git a/exaudfclient/base/python/python3/python_ext_dataframe.cc b/exaudfclient/base/python/python3/python_ext_dataframe.cc index 7f2ea7040..7bfce9233 100644 --- a/exaudfclient/base/python/python3/python_ext_dataframe.cc +++ b/exaudfclient/base/python/python3/python_ext_dataframe.cc @@ -119,7 +119,7 @@ std::map emitTypeMap { {SWIGVMContainers::INTERVALYM, "INTERVALYM"}, {SWIGVMContainers::INTERVALDS, "INTERVALDS"}, {SWIGVMContainers::GEOMETRY, "GEOMETRY"}, - {SWIGVMContainers::HASHTYPE, "HASHTYPE"} + {SWIGVMContainers::BINARY, "BINARY"} }; @@ -297,7 +297,7 @@ PyObject *getColumnData(std::vector& colInfo, PyObject *tableIter, l case SWIGVMContainers::STRING: methodName = "getString"; break; - case SWIGVMContainers::HASHTYPE: + case SWIGVMContainers::BINARY: methodName = "getBinary"; break; case SWIGVMContainers::BOOLEAN: