Skip to content

Commit

Permalink
Added SwigMetaDataIf interface
Browse files Browse the repository at this point in the history
  • Loading branch information
tomuben committed Sep 16, 2024
1 parent 84dd6d1 commit d2ea626
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 7 deletions.
2 changes: 1 addition & 1 deletion exaudfclient/base/exaudflib/impl/swig/swig_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

extern "C" {

SWIGVMContainers::SWIGMetadata* create_SWIGMetaData() {
SWIGVMContainers::SWIGMetadataIf* create_SWIGMetaData() {
return new SWIGVMContainers::SWIGMetadata_Impl();
}

Expand Down
3 changes: 1 addition & 2 deletions exaudfclient/base/exaudflib/impl/swig/swig_meta_data.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@

namespace SWIGVMContainers {

class SWIGMetadata_Impl : public SWIGMetadata {
class SWIGMetadata_Impl : public SWIGMetadataIf {
public:
SWIGMetadata_Impl():
SWIGMetadata(false),
m_connection_id(exaudflib::global.SWIGVM_params_ref->connection_id),
m_socket(*(exaudflib::global.sock)),
m_exch(&exaudflib::global.exchandler),
Expand Down
53 changes: 50 additions & 3 deletions exaudfclient/base/exaudflib/swig/swig_meta_data.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,56 @@

namespace SWIGVMContainers {

class SWIGMetadata {
SWIGMetadata* impl=nullptr;
typedef SWIGVMContainers::SWIGMetadata* (*CREATE_METADATA_FUN)();
struct SWIGMetadataIf {

virtual ~SWIGMetadataIf() {};
virtual const char* databaseName() = 0;
virtual const char* databaseVersion() = 0;
virtual const char* scriptName() = 0;
virtual const char* scriptSchema() = 0;
virtual const char* currentUser() = 0;
virtual const char* scopeUser() = 0;
virtual const char* currentSchema() = 0;
virtual const char* scriptCode() = 0;
virtual const unsigned long long sessionID() = 0;
virtual const char *sessionID_S() = 0;
virtual const unsigned long statementID() = 0;
virtual const unsigned int nodeCount() = 0;
virtual const unsigned int nodeID() = 0;
virtual const unsigned long long vmID() = 0;
virtual const unsigned long long memoryLimit() = 0;
virtual const VMTYPE vmType() = 0;
virtual const char *vmID_S() = 0;
virtual const ExecutionGraph::ConnectionInformationWrapper* connectionInformation(const char* connection_name) = 0;
virtual const char* moduleContent(const char* name) = 0;
virtual const unsigned int inputColumnCount() = 0;
virtual const char *inputColumnName(unsigned int col) = 0;
virtual const SWIGVM_datatype_e inputColumnType(unsigned int col) = 0;
virtual const char *inputColumnTypeName(unsigned int col) = 0;
virtual const unsigned int inputColumnSize(unsigned int col) = 0;
virtual const unsigned int inputColumnPrecision(unsigned int col) = 0;
virtual const unsigned int inputColumnScale(unsigned int col) = 0;
virtual const SWIGVM_itertype_e inputType() = 0;
virtual const unsigned int outputColumnCount() = 0;
virtual const char *outputColumnName(unsigned int col) = 0;
virtual const SWIGVM_datatype_e outputColumnType(unsigned int col) = 0;
virtual const char *outputColumnTypeName(unsigned int col) = 0;
virtual const unsigned int outputColumnSize(unsigned int col) = 0;
virtual const unsigned int outputColumnPrecision(unsigned int col) = 0;
virtual const unsigned int outputColumnScale(unsigned int col) = 0;
virtual const SWIGVM_itertype_e outputType() = 0;
virtual const bool isEmittedColumn(unsigned int col) = 0;
virtual const char* checkException() = 0;
virtual const char* pluginLanguageName() = 0;
virtual const char* pluginURI() = 0;
virtual const char* outputAddress() = 0;
};



class SWIGMetadata : public SWIGMetadataIf {
SWIGMetadataIf* impl=nullptr;
typedef SWIGVMContainers::SWIGMetadataIf* (*CREATE_METADATA_FUN)();
public:
SWIGMetadata()
{
Expand Down
2 changes: 1 addition & 1 deletion exaudfclient/base/exaudflib/udf_plugin_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class SWIGTableIterator;
}

extern "C" {
SWIGVMContainers::SWIGMetadata* create_SWIGMetaData();
SWIGVMContainers::SWIGMetadataIf* create_SWIGMetaData();
SWIGVMContainers::AbstractSWIGTableIterator* create_SWIGTableIterator();
SWIGVMContainers::SWIGRAbstractResultHandler* create_SWIGResultHandler(SWIGVMContainers::SWIGTableIterator* table_iterator);
}
Expand Down

0 comments on commit d2ea626

Please sign in to comment.