Home page  

Help > SDK Help > Client Interface Components >

Configuration and Administration API's

Version 8.0.0.490

EIQ Configuration and Administration API Functions and Structures.. 1

API Functions. 1

Data Source Driver 1

Registered Data Source Configuration. 2

EIQ Server Data Source (Virtual Data Source) Configuration. 3

EIQ Server Advanced Settings. 5

Standard Data Model Based Schema (SuperSchema) 5

Standard Data Model 7

Link Index Entity Configuration. 9

Link Index Configuration/Build/Analysis. 9

TurboAdapter Alias. 14

Index Attach. 14

Table Alias. 15

EIQ User 17

EIQ Index. 18

Data Source Administration/Monitoring. 18

WhamEE (Entity Extraction Server) 21

EIQ RTIS.. 22

EIQ DS TransMon (Data Source Transaction Monitor) Server 30

JavaGateway Server Configuration. 32

Miscellaneous. 33

API Structures. 34

 

 

EIQ Configuration and Administration API Functions and Structures

 

API Functions

EIQ Configuration and Administration APIs provide C/C++ functions to automate configuration, monitoring and administration of EIQ Product Suite components including EIQ Server, EIQ RTIS, EIQ DS TransMon Server and WhamEE. Using these API client applications, users can build EIQ Indexes, configure Virtual Data Sources, map standard data models/reference data model columns and configure and build Link Indexes. Administration applications can also monitor activity at EIQ Server, such as active/idle connections, sessions, users and statements, and bring data sources online or offline as needed.

Data Source Driver

 

Functions for configuring/managing data source drivers/connectors for data sources (Oracle, DB2, JavaGateway, Thunderbolt etc.). EIQ Server uses these drivers to connect to data sources.

 

// Gets the list of data source drivers registered with EIQ Server (eg. ORACLE, ODBC, THUNDERBOLT, etc.)

WtInt32            cfg_get_db_drivers( WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_DB_DRIVER_CONFIG pDrivers[],

                                                            WtInt32 *plRecordsReturned );

 

WtInt32            cfg_get_db_drivers_count( WtInt32 lRemoteSessionID,

WtInt32 *plDriverCount);

 

WtInt32            cfg_delete_db_driver( WtInt32 lRemoteSessionID,

WtUChar8 *pszDBDriverAlias);

 

WtInt32            cfg_add_db_driver( WtInt32 lRemoteSessionID,

TB_DB_DRIVER_CONFIG *pDBDriver);

 

 

Registered Data Source Configuration

 

Functions for configuring/managing registered data sources (such as databases in Oracle, SQL Server, DB2, etc.).

 

WtInt32            cfg_get_regdb_config_count(WtInt32 lRemoteSessionID,

WtInt32 *plConfigCount);

 

WtInt32            cfg_get_regdb_configs(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_REGDB_CONFIG pRegDBConfig[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_regdb_config(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            TB_REGDB_CONFIG *pRegDBConfig);

 

WtInt32            cfg_delete_regdb_config(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias);

 

WtInt32            cfg_add_regdb_config(WtInt32 lRemoteSessionID,

TB_REGDB_CONFIG *pRegDBConfig);

 

WtInt32           cfg_set_regdb_config_desc( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtUChar8 *pszREGDBDesc );

 

WtInt32            cfg_test_regdb_config(WtInt32 lRemoteSessionID,

                                                            TB_REGDB_CONFIG *pRegDBConfig,

                                                            WtInt32 *plErrorCode,

                                                            WtInt32 lBufferLength,

                                                            WtUChar8 *pszErrorText,

                                                            WtInt32 *plBytesCopied );

 

WtInt32            cfg_get_regdb_config_detail(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias, 

                                                            TB_REGDB_CONFIG_DETAIL *pRegDBConfigDetail);

 

WtInt32            cfg_get_regdb_depend_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_regdb_depends(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG pEIQCfg[],

                                                            WtInt32 *plRecordsReturned);

 

EIQ Server Data Source (Virtual Data Source) Configuration

 

Functions for configuring/managing EIQ virtual data sources (VDSs), SuperSchena mapping, and remote EIQ data sources (including Java Gateway data sources).

 

WtInt32            cfg_get_eiq_config_count( WtInt32 lRemoteSessionID,

WtInt32 *plConfigCount);

 

WtInt32            cfg_get_eiq_configs(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG pEIQConfig[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_verify_regdb_id_with_index( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigDetailItemCount,

                                                            TB_EIQ_CONFIG_DETAIL pEIQConfigDetail[]);

 

WtInt32            cfg_delete_eiq_config( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 iDeleteSuperSchemaInfo);

 

WtInt32            cfg_add_eiq_config( WtInt32 lRemoteSessionID,

                                                            TB_EIQ_CONFIG *pEIQConfig, 

                                                            WtInt32 lConfigDetailItemCount,

                                                            TB_EIQ_CONFIG_DETAIL pEIQConfigDetail[]);

 

WtInt32            cfg_set_eiq_config_desc( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias, 

                                                            WtUChar8 *pszDesc );

 

WtInt32            cfg_get_eiq_config_detail_count( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 *plDetailCount);

 

WtInt32            cfg_get_eiq_config_extend_detail_count( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 *plDetailCount);

 

 

// Gets information on the “Data source – Index” pairs for a particular VDS

WtInt32            cfg_get_eiq_config_detail( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG_DETAIL pEIQConfigDetail[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_eiq_config_extend_detail( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG_DETAIL pEIQConfigDetail[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_check_duplicate_external_db_alias_count(

WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG_DETAIL pDetail[],

                                                            TB_EIQ_CONFIG_DETAIL pDupDetail[],

                                                            WtInt32 *plDupCount);

 

WtInt32            cfg_add_eiq_remote_reference( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRefEIQAlias,

WtUInt32 uiSocketServerPortNumber

=DEFAULT_SOCKET_SERVER_PORT_NUMBER);

 

WtInt32            cfg_remove_eiq_remote_reference( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRefEIQAlias);

 

WtInt32            cfg_get_eiq_config_super_schema_table_count( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 *plTableCount);

 

WtInt32            cfg_get_eiq_config_super_schema_table( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecordsPassed,

                                    TB_EIQ_CONFIG_SUPER_SCHEMA_TABLE pSSTable[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_eiq_config_super_schema_table_fields(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszTable,

                                                            WtInt32 lRecordsPassed,

                                                            WtInt32 piStandardNameID[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_eiq_config_super_schema_table_fields(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszTable,

                                                            WtInt32 lColumnCount,

                                                            WtInt32 piStandardNameID[]);

 

EIQ Server Advanced Settings

 

Functions for configuring EIQ Server Advanced Settings. These server settings determine how an instance of EIQ Server functions in deployment.

 

WtInt32            cfg_get_server_setting_count(WtInt32 lRemoteSessionID,

WtInt32 *plSettingCount );

 

WtInt32            cfg_get_server_settings(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SERVER_SETTING pSettings[],

                                                            WtInt32 *plRecordsReturned );

 

WtInt32            cfg_get_server_setting(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszSettingName,

                                                            TB_SERVER_SETTING *pSetting );

 

WtInt32            cfg_set_server_setting(WtInt32 lRemoteSessionID,

TB_SERVER_SETTING *pSetting );

 

WtInt32            cfg_get_server_setting_choice_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszSettingName,

                                                            WtInt32 *plChoiceCount);

 

WtInt32            cfg_get_server_setting_choices(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszSettingName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SERVER_SETTING_VALUE *pValues,

                                                            WtInt32 *plRecordsReturned);

 

Standard Data Model Based Schema (SuperSchema)

 

Functions for configuring a SuperSchema (standard data model based flat schema).

 

WtInt32            cfg_get_super_schema_info_count(WtInt32 lRemoteSessionID,

                                                            WtInt32 enAccessMode,

                                                            WtInt32 enFilterMode,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 *plMappingCount);

 

WtInt32            cfg_get_super_schema_info(WtInt32 lRemoteSessionID,

                                                            WtInt32 enAccessMode,

                                                            WtInt32 enFilterMode,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SUPER_SCHEMA_INFO pSSI[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_super_schema_info(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SUPER_SCHEMA_INFO pSSI[],

                                                            WtInt32 iAttachMode);

 

WtInt32            cfg_get_super_schema_er_mappings_count(WtInt32 lRemoteSessionID,

                                                            WtInt32 enAccessMode,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_super_schema_er_mappings(WtInt32 lRemoteSessionID,

                                                            WtInt32 enAccessMode,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_ER_MAPPING pERMappings[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_super_schema_er_mappings(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_ER_MAPPING pERMappings[]);

 

WtInt32            cfg_get_entity_mapping_info_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 *plMappingCount);

 

WtInt32            cfg_get_entity_mapping_info(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

TB_EIQ_MAPPED_ENTITY_INFO pMappedEntityInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_entity_mapping_entity_info(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtUChar8 *pszSchemaName,

                                                            WtUChar8 *pszTableName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_ENTITY_INFO pEntityInfo[],

                                                            WtInt32 *plRecordsReturned);

 

Standard Data Model

 

Functions for managing the dictionary containing the current standard data model.

 

WtInt32            cfg_get_standard_names_datatype_count(WtInt32 lRemoteSessionID,

WtInt32 *plCount);

 

WtInt32            cfg_get_standard_names_datatypes(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_DATA_TYPE pDataTypes[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_standard_names_count(WtInt32 lRemoteSessionID,

WtInt32 *plCount);

 

WtInt32            cfg_get_standard_names(WtInt32 lRemoteSessionID,

WtInt32 lRecordsPassed,

                                                            TB_EIQ_STANDARD_NAME pSN[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_standard_names(WtInt32 lRemoteSessionID,

                                                            WtInt32 iClearStandardNames,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_STANDARD_NAME pSN[]);

 

WtInt32            cfg_set_standard_name_desc( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtUChar8 *pszStandardNameDesc );

 

// Get the number of virtual data sources that reference a particular standard name

WtInt32            cfg_get_standard_name_depend_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtInt32 *plCount);

 

// Get the number of SuperSchema mappings for a particular VDS and standard name

WtInt32            cfg_get_standard_name_depend_count_ex(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_standard_name_depends(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SUPER_SCHEMA_INFO pSSI[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_clear_standard_name_depends(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SUPER_SCHEMA_INFO pSSI[]);

 

 

WtInt32            cfg_get_standard_name_depends_ex(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SUPER_SCHEMA_INFO pSSI[],

                                                            WtInt32 *plRecordsReturned);

 

// Get the number of SuperSchema tables that reference a particular standard name

WtInt32            cfg_get_standard_name_depend_sst_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_standard_name_depends_sst(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszStandardName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG_SUPER_SCHEMA_TABLE pSST[],

                                                            WtInt32 *plRecordsReturned);

 

Link Index Entity Configuration

 

Functions for configuring entities for Link Indexes. These can be used to define entities by specifying their associated attribute columns. They can also be used to retrieve existing entity information or to delete entities.

 

WtInt32            cfg_get_eiq_config_entity_count(WtInt32 lRemoteSessionID,

WtInt32 *plEntityCount);

 

WtInt32            cfg_get_eiq_config_entity_info(WtInt32 lRemoteSessionID,

                                                            WtInt32 lEntityCount,

                                                            TB_EIQ_ENTITY_INFO pEntityInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_eiq_config_entity(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEntityName,

                                                            WtInt32 lRecordsPassed,

                                                            WtInt32 *piAttributeIDs,

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_eiq_config_entity(WtInt32 lRemoteSessionID,

                                                            WtInt32 iEntityID,

                                                            WtUChar8 *pszEntityName,

                                                            WtUChar8 *pszEntityDesc,

                                                            WtInt32 lRecordsPassed,

                                                            WtInt32 *piAttributeIDs,

                                                            WtInt32 *piEntityIDAssigned);

 

WtInt32            cfg_set_eiq_config_entity_desc(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEntityName,

                                                            WtUChar8 *pszEntityDesc);

 

WtInt32            cfg_delete_eiq_config_entity(WtInt32 lRemoteSessionID,

WtInt32 iEntityID);

 

Link Index Configuration/Build/Analysis

 

Functions for configuring and building Link Indexes.

 

WtInt32            lml_alloc_connect(WtInt32 tmHandle,

                                                            WtUChar8 *pszUserID,

                                                            WtUChar8 *pszPassword,

                                                            WtInt32* lRemoteSessionID);

 

WtInt32            lml_free_connect(WtInt32 lRemoteSessionID);

 

WtInt32            lml_connect(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszDBResource,

                                                            WtUChar8 *pszConnectString,

                                                            WtUChar8 *pszUserID,

                                                            WtUChar8 *pszPassword);

 

WtInt32            lml_disconnect(WtInt32 lRemoteSessionID);

 

WtInt32            lml_get_error(WtInt32 lRemoteSessionID,

                                                            WtInt32 *lErrorCode,

                                                            WtInt32 lBufferLength,

                                                            WtUChar8 *pszErrorText,

                                                            WtInt32 *plBytesCopied);

 

WtInt32           lml_get_detail_error_count(WtInt32 lRemoteSessionID,

                                                            WtInt32 *plErrorCount);

 

WtInt32           lml_get_detail_error(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecsPassed,

                                                            TB_DETAIL_ERROR_INFO pDetailError[  ],

                                                            WtInt32 *plRecordsCopied);

 

WtInt32           lml_set_cancel(WtInt32 lRemoteSessionID, WtInt32 iCancelFlag);

 

WtInt32            lml_get_mapped_entity_info_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,              // NULL for wildcard/all

                                                            WtInt32 *plMappedEntiyCount);

 

WtInt32            lml_get_mapped_entity_info(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,              // NULL for wildcard/all

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_ENTITY_INFO pEntityInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            lml_get_mapped_entity_table_info_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEntityName,                           // required

                                                            WtUChar8 *pszEIQAlias,                                // required

                                                            WtUChar8 *pszRegDBAlias,                          // NULL for wildcard/all

                                                            WtInt32 *plMappedTableCount);

 

WtInt32            lml_get_mapped_entity_table_info(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEntityName,                           // required

                                                            WtUChar8 *pszEIQAlias,                                // required

                                                            WtUChar8 *pszRegDBAlias,                          // NULL for wildcard/all

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_MAPPED_TABLE_INFO pTableInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            lml_build_link(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias);

 

WtInt32            lml_build_internal_link(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 *piDBCount);

 

WtInt32            lml_build_external_link(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszEntityName,                           // NULL for wildcard/all,

                                                            WtULong64 *pul64NumRecToProcess,        // number of records to be processed

                                                            WtULong64 *pul64NumXLink,                       // link between same entity values across data sources

                                                            WtULong64 *pul64NumLink,                          // link between same entity values in the same data sources

                                                            WtInt32 *piNumExtLinkStats,            

                                                            TB_EXT_LINK_STATS **ppExtLinkStats,

                                                            WtInt32 *piNumEntityStats,

                                                            TB_ENTITY_STATS **ppEntityStats);

 

WtInt32            lml_insert_external_link(WtInt32 lRemoteSessionID,

                                                             WtUChar8 *pszEIQAlias ,

                                                             WtUChar8 *pszEntityName,

                                                             WtInt32 iNumList,

                                                             WtInt32 piURNCount[], // piURNCount[iNumList]

                                                             WtInt32 lTotalNumOfURN,

                                                             WHAMURN *pURNs,   // pURNs[lTotalNumOfURN]

                                                             WtULong64 *pul64NumXLink,

                                                             WtULong64 *pul64NumLink,

                                                             WtInt32 *piNumExtLinkStats,

                                                             TB_EXT_LINK_STATS **ppExtLinkStats,

                                                             WtInt32 *piNumEntityStats,

                                                             TB_ENTITY_STATS **ppEntityStats);

 

WtInt32            lml_delete_external_xds_link(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 iSendToTopEIQServer,        // 1 send to the top the EIQSERVER to broadcast out, otherwise process

                                                            WtInt32 lRecordsPassed,

                                                            WtUChar8 *pURNPairs,                     // size is lRecordsPassed*2*sizeof(WHAMURN)

                                                            WtInt32 iExtDBIDCount,                    /* array size of piExtLinkCounts */

                                                            WtInt32 *plLinkCountPerExtDBID);   /* array of link count for each data source ID */

 

WtInt32            lml_add_external_link(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtUChar8 *pszSchema,

                                                            WtUChar8 *pszTable,

                                                            WtInt32 lRecordsPassed,

                                                            WHAMURN *pURNs,

                                                            WtULong64 *pul64NumXLink,

                                                            WtULong64 *pul64NumLink);

 

WtInt32            lml_find_external_link(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszSQL,

                                                            WtUChar8 *pszEntityFilter,

                                                            WtUChar8 *pszEntityName,

                                                            WtULong64 *pul64NumXLink,

                                                            WtULong64 *pul64NumLink);

 

WtInt32            lml_get_data_source_id(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 *piDataSourceID);

 

WtInt32            lml_switch_data_source(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias);

 

WtInt32            lml_start_update_task(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias);

 

WtInt32            lml_get_next_seg( /*[in]*/  WtUChar8 *pszUserID,

                                                            /*[in]*/  WtUChar8 *pszPassword,

                                                            /*[in]*/  WtUChar8 *pszRegDBAlias,

                                                            /*[out]*/ TB_REGDB_SEGMENT *pSegment,

                                                            /*[in]*/  WtInt32 lBufferLength,

                                                             /*[out, size_is(lBufferLength)]*/ WtUChar8 *pszErrorText );

 

WtInt32           lml_seg_usage( /*[in]*/ WtUChar8 *pszUserID,

                                                            /*[in]*/ WtUChar8 *pszPassword,

                                                            /*[in]*/ TB_REGDB_SEGMENT *pSegment,

                                                            /*[out]*/ WtInt32 *piVDSUsed,

                                                            /*[out]*/ WtInt32 *piTBIndexPathUsed,

                                                            /*[in]*/  WtInt32 lBufferLength,

                                                            /*[out, size_is(lBufferLength)]*/ WtUChar8 *pszErrorText );

 

WtInt32           lml_clone_ds( /*[in]*/  WtUChar8 *pszUserID,

                                                            /*[in]*/  WtUChar8 *pszPassword,

                                                            /*[in]*/  TB_REGDB_CONFIG *pRegDBConfig,

                                                            /*[in]*/  TB_EIQ_CONFIG *pEIQConfig,

                                                            /*[in]*/  WtInt32 iDetailCount,

                                                            /*[in, size_is(iDetailCount)]*/  TB_EIQ_CONFIG_DETAIL *pDetail,

                                                            /*[in]*/  WtInt32 lMappedColumnCount,

                                                            /*[in, size_is(lMappedColumnCount)]*/  TB_CLONE_MAPPED_COLUMNS *pCloneMappedColumn,

                                                            /*[in]*/  WtInt32 lBufferLength,

                                                            /*[out, size_is(lBufferLength)]*/ WtUChar8 *pszErrorText);

 

WtInt32           lml_add_seg_to_fed_vds( /*[in]*/  WtUChar8 *pszFedServerVDSName,

                                                            /*[in]*/  WtUChar8 *pszUserID,

                                                            /*[in]*/  WtUChar8 *pszPassword,

                                                            /*[in]*/  WtUChar8 *pszSuperAdapterName,

                                                            /*[in]*/  WtInt32 iSuperAdapterPortNumber,

                                                            /*[in]*/  WtUChar8 *pszSuperAdapterVDSName,

                                                            /*[in]*/  WtInt32 lBufferLength,

                                                            /*[out, size_is(lBufferLength)]*/ WtUChar8 *pszErrorText);

 

WtInt32            lml_link_stat( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecsPassed,

                                                            TB_LINK_INDEX_STAT pLinkIndexStat[ ],

                                                            WtInt32 *plRecordsCopied);

 

WtInt32            lml_entity_link_status( WtInt32 lRemoteSessionID,

                                                            WtInt32 iEIQAliaNameLen,

                                                            WtUChar8 *pszEIQAlias,                    // [out,size_is(iEIQAliaNameLen)]

                                                            WtInt32  iEntityNameLen,

                                                            WtUChar8 *pszEntityName,               //[out]

                                                            WtULong64 *pul64NumToProcess,   //[out]

                                                            WtULong64 *pul64NumProcessed,   //[out]

                                                            WtULong64 *pulNumXLink,               //[out]               // link between same entity values across data sources

                                                            WtULong64 *pulNumLink);                 //[out]               // link between same entity values in the same data sources

 

WtInt32            lml_get_urn_pair( WtInt32 lRemoteSessionID,

                                                            WtInt32 iDBID,

                                                            WtInt32 lRecsPassed,

                                                            TB_LINK_INDEX_URN_PAIR purnPair[ ],

                                                            WtInt32 *plRecordsCopied);

 

WtInt32            lml_get_from_urn_cardinality( WtInt32 lRemoteSessionID,

                                                            WtInt32 iDBID,

                                                            WtInt32 lRecsPassed,                                                                       

                                                            TB_LINK_INDEX_FROM_URN_CARDINALITY purnCard[ ],

                                                            WtInt32 *plRecordsCopied);

 

TurboAdapter Alias

 

Functions for configuring table and column name aliasing for TurboAdapter configurations.

 

WtInt32            cfg_set_turbocharger_table_alias(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SUPER_SCHEMA_INFO pSSI[]);

 

WtInt32            cfg_set_turbocharger_column_alias(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtUChar8 *pszSchema,

                                                            WtUChar8 *pszTable,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SUPER_SCHEMA_INFO pSSI[]);

 

Index Attach

 

Functions for attaching multiple EIQ Indexes. Attached indexes enable execution of complex JOIN queries across the data sources as if all the tables belong to a single data source.

 

WtInt32            cfg_get_attach_info_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 *plAttachInfoCount);

 

WtInt32            cfg_get_attach_info(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG_ATTACH pAttachInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_attach_info(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG_ATTACH pAttachInfo[]);

 

WtInt32            cfg_get_attach_super_schema_er_mappings_count(

WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,                                                                                                       

WtUChar8 *pszPKRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKTableAliasName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_attach_super_schema_er_mappings(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszPKRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKTableAliasName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 lRecordsPassed,

TB_EIQ_ATTACH_ER_MAPPING pERMappings[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_attach_super_schema_er_mappings(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszPKRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKTableAliasName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_ATTACH_ER_MAPPING pERMappings[]);

 

Table Alias

 

Internal functions for configuring table aliases. These are used to enable (at the SuperSchema) execution of SQL statements that include self-JOIN of a table referred to by different alias names.

 

WtInt32            cfg_clear_eiq_table_alias(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias);

 

WtInt32            cfg_set_eiq_table_alias(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_TABLE_ALIAS pEIQTableAlias[]);

 

WtInt32            cfg_get_eiq_table_alias_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_eiq_table_alias(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_TABLE_ALIAS pEIQTableAlias[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_table_alias_er_mappings_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszPKRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKAttachedTableAliasName,

                                                            WtUChar8 *pszPKEIQTableAliasName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_table_alias_er_mappings(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszPKRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKAttachedTableAliasName,

                                                            WtUChar8 *pszPKEIQTableAliasName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_TABLE_ALIAS_ER_MAPPING

 pERMappings[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_set_table_alias_er_mappings(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszPKRegDBAlias,

                                                            WtUChar8 *pszPKSchemaName,

                                                            WtUChar8 *pszPKTableName,

                                                            WtUChar8 *pszPKAttachedTableAliasName,

                                                            WtUChar8 *pszPKEIQTableAliasName,

                                                            WtUChar8 *pszPKColumnName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_TABLE_ALIAS_ER_MAPPING

pERMappings[]);

 

EIQ User

 

Functions for configuring EIQ Users. These can also be used to obtain information related to a specific user (accessible data sources, assigned user roles, etc.).

 

WtInt32            cfg_get_registerred_user_count(WtInt32 lRemoteSessionID,

WtInt32 *plUserCount);

 

WtInt32            cfg_get_registerred_users(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_USER_INFO *pUserInfo,

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_delete_registerred_users(WtInt32 lRemoteSessionID,

WtInt32 lRecordsPassed,

TB_USER_INFO *pUserInfo);

 

WtInt32            cfg_add_registerred_users(WtInt32 lRemoteSessionID,

WtInt32 lRecordsPassed,

TB_USER_INFO *pUserInfo);

 

WtInt32            cfg_reset_registerred_user_info(WtInt32 lRemoteSessionID,

                                                            TB_USER_INFO *pUserInfo);

WtInt32            security_get_user_db_count(WtInt32 lRemoteSessionID,

WtInt32 *plDBCount);

 

WtInt32            security_get_user_db(WtInt32 lRemoteSessionID,

                                                            WtInt32 lDBCount,

                                                            TB_EIQDB_CONFIG *pEIQDBConfig,

                                                            WtInt32 *plDBCountReturned);

 

WtInt32           security_get_user_vds_db_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 *plVDS_DBCount);

 

WtInt32            security_get_user_vds_db(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lVDS_DBCount,

                                                            TB_EIQDB_CONFIG *pEIQDBConfig,

                                                            WtInt32 *plVDS_DBCountReturned);

 

WtInt32            security_get_user_reg_db_count(WtInt32 lRemoteSessionID,

                                                            WtInt32 iExcludeRemoteDS,

                                                            WtInt32 *plDBCount);

 

WtInt32            security_get_user_reg_db(WtInt32 lRemoteSessionID,

                                                            WtInt32 iExcludeRemoteDS,

                                                            WtInt32 lDBCount,

                                                            TB_REGDB_INFO *pRegDBInfo,

                                                            WtInt32 *plDBCountReturned);

 

WtInt32            security_get_user_roles(WtInt32 lRemoteSessionID,

WtInt32 *piUserRoles);

 

WtInt32            security_get_server_mode(WtInt32 lRemoteSessionID,

                                                             TB_EIQ_SERVER_MODE *pEIQServerMode);

 

EIQ Index

 

Functions for obtaining information on registered EIQ Indexes.

 

WtInt32            cfg_get_regindex_config_count(WtInt32 lRemoteSessionID,

WtInt32 *plConfigCount);

 

WtInt32            cfg_get_regindex_configs(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_REGINDEX_CONFIG pREGIndexConfig[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_regindex_depend_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszTBIndexPath,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_regindex_depends(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszTBIndexPath,

                                                            WtInt32 lRecordsPassed,

                                                            TB_EIQ_CONFIG_DETAIL pDetail[],

                                                            WtInt32 *plRecordsReturned);

 

Data Source Administration/Monitoring

 

Functions for monitoring and administering EIQ Server data source connections and sessions.

 

WtInt32            cfg_take_regindex_offline(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszTBIndexPath,

                                                            WtInt32 iForceOffline);

 

WtInt32            cfg_bring_regindex_online(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszTBIndexPath,

                                                            WtInt32 *piAvailableConnection,

                                                            WtInt32 *piAquiredConnection);

 

WtInt32            cfg_reduce_regindex_connection(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszTBIndexPath,

                                                            WtInt32 lReduceCount,

                                                            WtInt32 *plReduceCountReturned);

 

WtInt32            cfg_get_regindex_ref_session_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszTBIndexPath,

                                                            WtInt32 *plCount);

 

WtInt32            cfg_get_regindex_ref_sessions(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszTBIndexPath,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SESSION_INFO pSessionInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_get_regdb_ref_session_count(WtInt32 lRemoteSessionID,

WtUChar8 *pszRegDBAlias, WtInt32 *plCount);

 

WtInt32            cfg_get_regdb_ref_sessions(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SESSION_INFO pSessionInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_reduce_regdb_connection(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 lReduceCount,

                                                            WtInt32 *plReduceCountReturned);

 

WtInt32            cfg_take_regdb_offline(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 iForceOffline);

 

WtInt32            cfg_bring_regdb_online(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszRegDBAlias,

                                                            WtInt32 *piAvailableConnection,

                                                            WtInt32 *piAquiredConnection);

 

WtInt32            cfg_get_vds_ref_session_count(WtInt32 lRemoteSessionID,

WtUChar8 *pszEIQAlias, WtInt32 *plCount);

 

WtInt32            cfg_get_vds_ref_sessions(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SESSION_INFO pSessionInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_take_vds_offline(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtInt32 iForceOffline);

 

WtInt32            cfg_bring_vds_online(WtInt32 lRemoteSessionID,

WtUChar8 *pszEIQAlias);

 

 

WtInt32            cfg_get_open_statement_count( WtInt32 lRemoteSessionID, // [in]

                                                            WtInt32 lClientSessionHandle, // [in]

                                                            WtInt32 *plCount );                 //[out]

 

WtInt32            cfg_get_open_statements( WtInt32 lRemoteSessionID, // [in]

                                                            WtInt32 lClientSessionHandle,  // [in]

                                                            WtInt32 lRecordsPassed,                   // [in]

                                                             TB_STATEMENT_INFO pStatementInfo[], // [out]

WtInt32 *plRecordsReturned );                      //[out]

 

WtInt32            cfg_get_session_count(WtInt32 lRemoteSessionID, WtInt32 *plCount);

 

WtInt32            cfg_get_sessions(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SESSION_INFO pSessionInfo[],

                                                            WtInt32 *plRecordsReturned);

 

WtInt32            cfg_suspend_session(WtInt32 lRemoteSessionID,

WtInt32 lSessionHandleToBeSuspended,

WtInt32 iForceSuspend);

 

WtInt32           cfg_resume_session(WtInt32 lRemoteSessionID,

WtInt32 lSessionHandleToBeResumed);

 

WtInt32            cfg_kill_session(WtInt32 lRemoteSessionID,

WtInt32 lSessionHandleToBeKilled,

WtInt32 iForceKill);

 

WtInt32            cfg_get_user_ref_session_count( WtInt32 lSessionHandle,

WtUChar8 *pszUserName,

WtInt32 *plCount );

 

WtInt32            cfg_get_user_ref_sessions( WtInt32 lSessionHandle,

                                                            WtUChar8 *pszUserName,

                                                            WtInt32 lRecordsPassed,

                                                            TB_SESSION_INFO *pSessionInfo,

                                                            WtInt32 *plRecordsReturned);

 

WhamEE (Entity Extraction Server)

 

Functions for configuring and managing WhamEE (JavaGateway server configured with GATE (General Architecture for Text Engineering) for entity extraction).

 

WtInt32            whamee_set_mode_props(WtInt32 lRemoteSessionID,

                                                            WtChar8 *pszOutputFormat,

                                                            WtChar8 *pszColumnDelimiter,

                                                            WtChar8 *pszStringQualifier,

                                                            WtChar8 *pszDeleteEntities);

 

WtInt32            whamee_set_entity_output_info(WtInt32 lRemoteSessionID,

                                                            WtChar8 *pszEntityName,

                                                            WtChar8 *pszTableName,

                                                            WtChar8 *pszSchemaName,

                                                            WtChar8 *pszDataBaseName,

                                                            WtChar8 *pszOutputFieldNames,

                                                            WtChar8 *pszFileNamePrefix,

                                                            WtChar8 *pszFileNameSuffix);

 

WtInt32            whamee_get_entities(WtInt32 lRemoteSessionID,

                                                            WtChar8*** ppEntityNames,

                                                            WtInt32* piNumofEntities);

 

WtInt32           whamee_get_entity_output_info(WtInt32 lRemoteSessionID,

                                                            WtChar8 *pszEntityName,

                                                            TB_WHAMEE_ENTITY_CONFIG_INFO* pEntityInfo);

 

WtInt32           whamee_process_text_file(WtInt32 lRemoteSessionID,

                                                            WtChar8 *pszInputFilePath, 

                                                            WtChar8 *pszEntityNames,

                                                            WtInt32 iNumofEntities,

                                                            WtInt32 lBufferLength,

                                                            WtChar8 *pszOutputFilePath,

                                                            WtInt32 *plOutputBufferCopied,

                                                            WtInt32 lStatusBufferLength,

                                                            WtChar8 *pszStatusMessage,

                                                            WtInt32 *plStatusBytesCopied);

 

WtInt32           whamee_get_error(WtInt32 lRemoteSessionID,

                                                            WtInt32 *plErrorCode,

                                                            WtInt32 lBufferLength,

                                                            WtChar8 *pszErrorText,

                                                            WtInt32 *plBytesCopied );

 

WtInt32           whamee_init(WtInt32 lRemoteSessionID,

BOOL bCaseSensitive = false);

 

WtInt32           whamee_terminate(WtInt32 lRemoteSessionID);

 

EIQ RTIS

 

Index Build:

High-level functions for running EIQ RTI Server index build projects. Functions for detailed configuration APIs will be available soon. 

 

 

WtInt32 alloc_connect( WtInt32 tmHandle,

                                    WtUChar8 *pszUserID,

                                    WtUChar8 *pszPassword,

                                    WtUChar8 *sClientInfo,

                                    WtInt32* lRemoteSessionID );

 

Allocate a new session for the client with RTI server.

 

Parameters

            tmHandle

                        [in]

Initialization handle. Value is ignored for RTI Server scenario.  0 value can be passed.

            pszUSerID & pszPassword & sClientInfo

                        [in]

User credentials. Value is ignored for RTI Server scenario temporarily. Empty string can be passed.

            lRemoteSessionID

                        [out]

Session handle allocated for this client if connection is successful.

            Return Value

                        Server error code if any, 0 if allocation is successful.

 

Comments

Before this API can be used to allocate a new session with RTI server, the client application must instantiate a connection to EIQ RTI Server which requires the IP Address and Port number on which the RTI Server is running.

 

Eg:

 

WtChar8* pszAddress = "127.0.0.1";

CTBServerConnection* pConnection = new CTBServerConnection(pszAddress, DEFAULT_RTI_SOCKET_SERVER_PORT_NUMBER);

 

DEFAULT_RTI_SOCKET_SERVER_PORT_NUMBER is the fixed port number RTI Server uses to listen to client requests. It is defined in tbdrv_defs.h. Check the code examples for client connection for additional details.

 

BOOL  rtiserver_open_index_map(WtInt32 lSessionHandle,

WtUChar8* pszBuffer,

BOOL bBufferIsXMLFilePath);

 

Open and load a RTI Project from the specified XML map file.

           

Parameters

lSessionHandle

                        [in]

                        Session handle returned from alloc_connect()

pszBuffer

                        [in]

Full file path and name of the XML map file to be opened and loaded, OR the full file contents of an xml map file that is to be opened. Note that the path provided should be accessible from the machine where the EIQ RTI server runs, otherwise the contents of the map file should be given instead.

            bBufferIsXMLFilePath

                        [in]

TRUE indicates that the contents of the parameter pszBuffer is a path pointing to an XML map file, FALSE indicates that the parameter pszBuffer stores the contents of an XML map file, NOT a path.

            Return Value

BOOL value indicating TRUE if the process to open and load the XML map was successful, FALSE otherwise.

 

Comments

Before this API can be called, you must first allocate a connection to the RTI Server using the alloc_connect() API.

 

Note: The xml map could be a Profile Index Map, an RTI Index Map, or even a Document index Map.

 

BOOL  rtiserver_build_indexes(WtInt32 lSessionHandle,

BOOL bEIQAdapter);

Build indexes for the project associated with specified session handle.

 

Parameters

lSessionHandle

                        [in]

                        Session handle returned from alloc_connect()

bEIQAdapter

                        [in]

TRUE indicates an EIQ Adapter build; FALSE indicates full RTI index build

Return Value

TRUE if the index build procedure was started successfully on the server, otherwise false.

 

Comments

Before this API can be called, you must first allocate a connection to the RTI Server using the alloc_connect() API; and the session must have an associated RTI project loaded successfully using rtiserver_open_index_map().

 

Note: If the session handle corresponds to an index map on relational data-source, then RTI indexes are built; otherwise, if the index map corresponds to a document data source, then document indexes are built.

 

BOOL  rtiserver_build_indexes(WtInt32 lSessionHandle);

 

Build profile indexes for the project associated with specified session handle.

 

Parameters

lSessionHandle

                        [in]

                        Session handle returned from alloc_connect()

Return Value

TRUE if the profile build procedure was started successfully on the server, otherwise false.

 

Comments

Before this API can be called, you must first allocate a connection to the RTI Server using the alloc_connect() API; and the session must have an associated RTI project loaded successfully using rtiserver_open_index_map().

 

BOOL  rtiserver_get_project_current_status(WtInt32 lSessionHandle,

CString* psStatus,

WtInt32* piStatus);

 

Get the current status of the project associated with the specified session handle.

 

Parameters

lSessionHandle

                        [in]

                        Session handle returned from alloc_connect().

psStatus

                        [out]

                        String data describing the current status of the project build on the server.

piStatus

                        [out]

Status code returned in integer type. This is an enumerated value which can be typecast into user-defined type PROJECT_STATUS. It can have the following possible values:

                                    STATUS_NOT_INITIALIZED

                                    PROJECT_IDLE

                                    PROJECT_BUILDING_INDEXES

                                    PROJECT_BUILD_SUCCESSFUL

PROJECT_BUILD_FAILED

Return Value

TRUE if the project status could be retrieved successfully, otherwise FALSE.

 

Comments

This API can only be called if there is an active and open project associated with the session handle. The piStatus output value must be type-cast to PROJECT_STATUS type before it can be used for comparison with the above mentioned possible values. The sample RTI Client test program shows how to use this API.

 

BOOL rtiserver_close_index_map( WtInt32 lSessionHandle );

 

Close the currently open RTI project associated with the specified session handle.

 

Parameters

lSessionHandle

            [in]

            Session handle returned from alloc_connect()

            Return Value

TRUE if the project was closed successfully, otherwise FALSE.

 

Comments

This API can only be called if there is an active and open project associated with the session handle.

 

 

WtInt32 free_connect(WtInt32 lRemoteSessionID);

 

Free the session specified by the session handle for this client with the RTI Server.

 

Parameters

lRemoteSessionID

            [in]

            Session handle returned from alloc_connect()

            Return Value

Server error code if any, 0 if allocation is successful.

 

Comments

Before this API can be called, you must first allocate a connection to the RTI Server using the alloc_connect() API.

 

BOOL  rtiserver_configure_data_source(WtInt32 lSessionHandle,

                                                            WtUChar8* pszDriver,

                                                            WtUChar8* pszAttributes,

                                                            CString*  pszError);

 

Configure a new ODBC Data Source with the specified attributes on the RTI Server machine.

 

Parameters

lSessionHandle

            [in]

            Session handle returned from alloc_connect()

pszDriver

            [in]

Driver description (usually the name of the associated DBMS) presented to users instead of the physical driver name. For more information see comments.

Eg:

"SQL Server Native Client 10.0"

"PostgreSQL ANSI(x64)"

pszAttributes

                        [in]

List of attributes in the form "keyname=value". These strings are separated by semi-colons as delimiters with a single semi-colon as the terminator at the end of the list. These attributes are primarily default driver-specific entries, which go into the registry for the new data source. One important key for this function is "DSN" ("data source name"), which specifies the name of the new data source. The rest of the entries are specific to the driver for the new data source. Often it is not necessary to supply all of the entries. For more information see comments.

Eg:

"DSN=FBIDSN;Description=fbi sqlserver 2008 database on MACHINE_XXX;DATABASE=FBI;Server=MACHINE_XXX;"

pszError

                        [out]

Error message if the server failed to configure the data source with specified attributes.

Return Value

TRUE if the ODBC data source was configured successfully, otherwise FALSE.

 

Comments

To determine the description of a driver for the lpszDriver parameter using ODBC Administrator:

-Run ODBC Administrator.

-Click Add.

This gives you a list of installed drivers and their descriptions. Use the driver name as the lpszDriver parameter. Note that you should use the entire name, such as "Excel Files (*.xls)", including the file name extension and parentheses if they exist in the name.

As an alternative, you can examine the registry (or, for 16 bit, the file Odbcinst.ini), which contains a list of all driver entries and descriptions under the registry key "ODBC Drivers" (or the section [ODBC Drivers] in Odbcinst.ini).

One way to find the keynames and values for the lpszAttributes parameter is to examine the Odbc.ini file for an already configured data source (perhaps one that has been configured by ODBC Administrator).

 

To find keynames and values for the lpszAttributes parameter

-Run the Windows registry editor (or, for 16 bit, open the Odbc.ini file).

-Find the ODBC data sources information using one of the following:

           For 32 bit, find the key HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources in the left pane.

The right pane lists entries of the form: "pub: REG_SZ:<data source name>", where <data source name> is a data source that has already been configured with the desired settings for the driver you intend to use. Select the data source you want, for example, SQL Server. The items following the string "pub:" are, in order, the keyname and value to use in your lpszAttributes parameter.

           For 16 bit, find the section in the Odbc.ini file marked by [<data source name>].

The lines following this line are of the form "keyname=value". These are exactly the entries to use in your lpszAttributes parameter.

You might also want to examine the documentation for the specific driver you are going to use. You can find useful information in the online Help for the driver, which you can access by running ODBC Administrator. These Help files are usually placed in the WINDOWS\SYSTEM directory for Windows NT, Windows 3.1, or Windows 95.

 

Updates:

Functions for configuring and managing EIQ RTIS.

 

WtInt32            update_begin_config_session( WtInt32 lRemoteSessionID,

                                                            WtInt32 *plConfigSession );

 

WtInt32            update_end_config_session( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession );

 

WtInt32           update_start_datasource_update_task( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszEIQAlias,

                                                            WtUChar8 *pszRegDBAlias );

 

WtInt32           update_started( WtInt32 lRemoteSessionID,

                                                            double *pdServerStarted );

 

WtInt32           update_start_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID );

 

WtInt32           update_pause_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID );

 

WtInt32           update_stop_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID );

 

WtInt32           update_start_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID );

 

WtInt32           update_pause_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID );

 

WtInt32           update_stop_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID );

 

WtInt32           update_get_task_status( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32* plStatus );

 

WtInt32           update_get_task_item_status( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32* plStatus );

 

WtInt32           update_is_queue_created( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pQueueName,

                                                            WtInt32 lTaskType,

                                                            WtInt32* plQueueExist );

 

WtInt32           update_is_valid_folder( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pFolderPath,

                                                            WtInt32 lTaskType,

                                                            WtInt32* plFolderExist );

 

WtInt32           update_get_task_count( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32* plTaskCount );

 

WtInt32           update_get_tasks( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskCount,

                                                            EIQ_UPDATE_TASK *pUpdateTasks,

                                                            WtInt32 *plTasksReturned );

 

WtInt32           update_insert_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            EIQ_UPDATE_TASK *pUpdateTask );

 

WtInt32           update_update_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            EIQ_UPDATE_TASK *pUpdateTask );

 

WtInt32           update_delete_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID );

 

WtInt32           update_get_task_item_count( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 *plTaskItemCount );

 

WtInt32           update_get_task_items( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemCount,

                                                            EIQ_UPDATE_TASK_ITEM* pUpdateTaskItems,

                                                            WtInt32* plTaskItemsReturned );

 

WtInt32           update_insert_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            EIQ_UPDATE_TASK_ITEM *pUpdateTaskItem );

 

WtInt32           update_update_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            EIQ_UPDATE_TASK_ITEM *pUpdateTaskItem );

 

WtInt32           update_delete_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID );

 

WtInt32           update_get_task_sub_item_count( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32* plTaskSubItemCount );

 

WtInt32           update_get_task_sub_items( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32 lTaskSubItemCount,

                                                            EIQ_UPDATE_TASK_SUB_ITEM* pTaskSubItems,

                                                            WtInt32* plTaskSubItemsReturned );

 

WtInt32           update_update_task_sub_items( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32 lTaskSubItemCount,

                                                            EIQ_UPDATE_TASK_SUB_ITEM* pTaskSubItems );

 

EIQ DS TransMon (Data Source Transaction Monitor) Server

 

Functions for configuring and managing EIQ DS TransMon Server.

 

WtInt32            dstransmon_begin_config_session( WtInt32 lRemoteSessionID,

                                                            WtInt32 *plConfigSession );

 

WtInt32            dstransmon_end_config_session( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession );

 

WtInt32           dstransmon_start_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID );

 

WtInt32           dstransmon_pause_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID );

 

WtInt32           dstransmon_stop_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID );

 

WtInt32           dstransmon_start_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID );

 

WtInt32           dstransmon_pause_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID );

 

WtInt32           dstransmon_stop_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID );

 

WtInt32           dstransmon_get_task_status( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32* plStatus );

 

WtInt32           dstransmon_get_task_item_status( WtInt32 lRemoteSessionID,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32* plStatus );

 

WtInt32           dstransmon_is_queue_created( WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pQueueName,

                                                            WtInt32 lTaskType,

                                                            WtInt32* plQueueExist );

 

WtInt32           dstransmon_is_valid_dbconnection(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pConnectionString,

                                                            WtInt32* plConnectionValid);

 

WtInt32           dstransmon_get_task_count( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32* plTaskCount );

 

WtInt32           dstransmon_delete_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID );

 

WtInt32           dstransmon_get_task_item_count( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 *plTaskItemCount );

 

WtInt32           dstransmon_delete_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID,

                                                             WtInt32 lTaskItemIID );

 

WtInt32           dstransmon_get_task_sub_item_count( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32* plTaskSubItemCount );

 

WtInt32           dstransmon_get_tasks( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskCount,

                                                            DS_TRANSMON_TASK *pDSTransMonTasks,

                                                            WtInt32 *plTasksReturned );

 

WtInt32           dstransmon_insert_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            DS_TRANSMON_TASK *pDSTransMonTask );

 

WtInt32           dstransmon_update_task( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            DS_TRANSMON_TASK *pDSTransMonTask );

 

WtInt32           dstransmon_insert_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            DS_TRANSMON_TASK_ITEM *pDSTransMonTaskItem );

 

WtInt32           dstransmon_update_task_item( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            DS_TRANSMON_TASK_ITEM *pDSTransMonTaskItem );

 

WtInt32           dstransmon_get_task_sub_items( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32 lTaskSubItemCount,

                                                            DS_TRANSMON_TASK_SUB_ITEM* pTaskSubItems,

                                                            WtInt32* plTaskSubItemsReturned );

 

WtInt32           dstransmon_update_task_sub_items( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskItemIID,

                                                            WtInt32 lTaskSubItemCount,

                                                            DS_TRANSMON_TASK_SUB_ITEM* pTaskSubItems );

 

WtInt32           dstransmon_get_task_items( WtInt32 lRemoteSessionID,

                                                            WtInt32 lConfigSession,

                                                            WtInt32 lTaskIID,

                                                            WtInt32 lTaskItemCount,

                                                            DS_TRANSMON_TASK_ITEM* pDSTransMonTaskItems,

                                                            WtInt32* plTaskItemsReturned );

 

WtInt32           dstransmon_get_dsn_info(WtInt32 lRemoteSessionID,

                                                            WtChar8* strDSN,

                                                            WtChar8* strUID,

                                                            WtChar8* strPWD,

                                                            DS_TRANSMON_ODBC_DATABASE *pDB );

 

JavaGateway Server Configuration

 

The JavaGateway Configuration APIs help automate Java Gateway server configuration. Using the API, a configuration client would be able to add, delete or retrieve a list of data sources registered with a JavaGateway server instance. In previous releases, JavaGateway used to load data source properties from a .properties file. Now it uses a dedicated JavaDB (Derby) database for storing these properties. Client applications/configuration tools can now manipulate data source configuration properties by connecting to JavaGateway server.

 

At this time the configuration API is available only for C/C++ clients. A future release will support Java clients.

 

// Get the number of registered Data Sources

WtInt32  tbdrv_cfg_get_regdb_config_count( WtInt32 lSessionHandle,

                                                            WtInt32 *plConfigCount );

 

// Get information about existing registered Data Sources; call this after calling  tbdrv_cfg_get_regdb_config_count

WtInt32 tbdrv_cfg_get_regdb_configs( WtInt32 lSessionHandle,

                                                            WtInt32 lRecordsPassed,

                                                            TB_REGDB_CONFIG pREGDBConfig[],

                                                            WtInt32 *plRecordsReturned );

 

// Delete a specific registered Data Source whose alias is passed as pszREGDBAlias

WtInt32 tbdrv_cfg_delete_regdb_config( WtInt32 lSessionHandle,

                                                            WtChar8 *pszREGDBAlias );

 

// Add a Data Source to be registered with EIQ Server

WtInt32 tbdrv_cfg_add_regdb_config( WtInt32 lSessionHandle,

                                                            TB_REGDB_CONFIG * );

Miscellaneous

 

Miscellaneous functions.

 

// Create a EIQ Non-Virtual Index (ENVI) – deprecated function.

WtInt32            cfg_create_nv(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszName,

                                                            WtUChar8 *pszPath);

 

// Get number of sub-fields of a column in an index

WtInt32            cfg_get_sub_field_count(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszIndexPath,

                                                            WtUChar8 *pszTableName,

                                                            WtUChar8 *pszColumnName,

                                                            WtInt32 *plCount);

 

// Get the sub-fields of a column in an index

WtInt32            cfg_get_sub_fields(WtInt32 lRemoteSessionID,

                                                            WtUChar8 *pszIndexPath,

                                                            WtUChar8 *pszTableName,

                                                            WtUChar8 *pszColumnName,

                                                            WtInt32 lSubFieldCount,

                                                            WtInt32 lBufferSize,

                                                            WtUChar8 *pszSubFields,

                                                            WtInt32 *plRecordsReturned);

 

WtInt32           get_session_status(WtInt32 lRemoteSessionID,

                                                            WtInt32 lRemoteProcessSessionID,

                                                            WtInt32 lSessionInfoLen,

                                                            WtChar8 *pszSessionInfo,                                                                             

                                                            WtInt32 lStatusBufferLen,

                                                            WtChar8 *pszStatus,

                                                            WtInt32 *plBytesCopied,

                                                            WtInt32 *plStatusCopied);

 

API Structures

 

typedef struct

{

      WtChar8           szDBDriverAlias[64];

      WtChar8           szDriverPath[1024];

      WtChar8           _reserved[1024];

}

TB_DB_DRIVER_CONFIG;

 

 

typedef struct

{

      WtChar8           szTBIndexName[64];

      WtChar8           szTBIndexPath[1024];

      WtInt32                 iAvailableConnection;         // # of available connect in index connection pool

      WtInt32                 iAquiredConnection;           // # of aquired connect in index connection pool

      WtChar8           _reserved[1024];                    // future use

}

TB_REGINDEX_CONFIG;

 

typedef struct

{

      WtChar8           szEIQDBAlias[64];

      EIQ_DB_TYPE       enDBType;

      WtChar8           szRemoteEIQAddress[64];

      WtChar8           _reserved[960];               // future use

}

TB_EIQDB_CONFIG;

 

typedef struct

{

      WtChar8           szDBType[64];

      WtChar8           szDBAlias[64];

      WtChar8           szDBPath[1024];

}

TB_REGDB_INFO;

 

typedef struct

{

      WtChar8           szDBType[64];

      WtChar8           szDBAlias[64];

      WtChar8           szDBPath[1024];

      WtChar8           szDriverName[64];

      WtChar8           szRemoteEIQAlias[64];

      WtChar8           szRemoteEIQAddress[64];

      WtChar8           szPassword[64];

      WtChar8           szSchema[64];

      WtChar8           szConnectString[4096];

      WtChar8           szUserID[64];

      WtInt32           iDBID;

      WtInt32           iAvailableConnection;

      WtInt32           iAquiredConnection;

      WtInt32           iRemoteEIQServerPortNumber;

      WtChar8           szDesc[TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1];

      WtChar8           _reserved[1008-(TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1)];                // future use

}

TB_REGDB_CONFIG;

 

typedef struct

{

      WtChar8           szServerName[1024];

      WtChar8           szDBMSName[1024];

      WtInt32           iServerPortNumber;

      WtChar8           _reserved[1020];              // future use

}

TB_REGDB_CONFIG_DETAIL;

 

typedef struct

{

      WtChar8           szEIQAlias[64];

      WtInt32           iDBCount;

      short             siOffline;

      WtChar8           szDesc[TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1];

      WtChar8           _reserved[1022-(TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1)];                // future use

}

TB_EIQ_CONFIG;

 

typedef struct

{

      WtChar8           szEIQAlias[64];                    

      WtInt32           iSequenceID;

      WtInt32           bIsPassthrough;

      WtChar8           szExternalDBAlias[64];

      WtChar8           szTBIndexPath[1024];

      WtInt32           bIsMainDataSource;

      WtInt32           iDBID;

      WtChar8           szError[256];

      WtChar8           szUpdateServerAddress[64];

      WtInt32           iUpdateServerPortNumber;

      WtChar8           szSwitchEIQServerAddress[64];

      WtInt32           iSwitchEIQServerPortNumber;

      WtChar8           szSwitchEIQServerUserName[TBDRV_EIQ_SERVER_USER_NAME_MAX_LEN+1];

      WtChar8           szSwitchEIQServerPassword[TBDRV_EIQ_SERVER_PASSWORD_MAX_LEN+1];

      WtChar8           szSwitchEIQAlias[64];                    

      WtChar8           szSwitchExternalDBAlias[64];

      WtChar8           _reserved[426];

}

TB_EIQ_CONFIG_DETAIL;

 

typedef struct

{

      WtChar8           szEIQAlias[64];

      WtChar8           szDesc[TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1];

}

TB_EIQ_VDS;

 

typedef struct

{

      WtChar8           szEIQAlias[64];                    

      WtChar8           szTableName[64];

      WtInt32           iColumnCount;

}

TB_EIQ_CONFIG_SUPER_SCHEMA_TABLE;

// added to suppert super_scheam table

 

typedef struct

{

      WtChar8     szRegDBAlias[64];

      WtChar8     szPKSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];          // primary key schema column

      WtChar8     szPKTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szPKColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

      WtChar8     szFKSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];          // foreign key schema column

      WtChar8     szFKTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szFKColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

}

TB_EIQ_ER_MAPPING;

 

 

typedef struct

{

      WtChar8           szSettingName[64];

      WtChar8           szSettingValue[1024];

      WtChar8           szSettingDescription[4096];

      WtInt32           iIsInteger;                         // 1: true 0:false

      WtInt32           iMaxValue;                          // 0: no maximum

      WtInt32           iMinValue;                          // 0: no minimum

      short             siViewOnly;                         // 1: view only

      WtChar8           _reserved[1018];

}

TB_SERVER_SETTING;

 

typedef struct

{

      WtChar8           szSettingValue[1024];

      WtChar8           _reserved[1024];

}

TB_SERVER_SETTING_VALUE;

 

typedef struct

{

      WtChar8           szEIQAlias[64];                                             //           

      WtChar8           szRegDBAlias[64];

      WtChar8           szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];      // schema column

      WtChar8           szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8           szColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

      WtInt32           iStandardNameID;  // mapped standard name

      WtInt32           iFlags;                       // TSSF_xxxxx: primary/foreign key defs....

      WtInt32           iDataType;              // data type DBTYPE_XXX

      WtChar8           szNativeDataType[TBDRV_NATIVE_DATA_TYPE_NAME_MAX_LEN+1]; // native data type name

      WtInt32           iNativeDataType;  // native data type

      WtChar8           szAttachedTableAlias[129];    // Attach

      WtInt32           iAttachStandardNameID;        // Attach

      WtChar8           szColumnAlias[TBDRV_COLUMN_NAME_MAX_LEN+1];// Table specific data

      WtChar8           szTableType[30];

      WtInt32           iIndexRecLen;

      WtChar8           szTableAlias[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtInt32           iTableType;

      WtChar8           _reserved[595];

}

TB_SUPER_SCHEMA_INFO;

 

typedef struct

{

      WtInt32           iStandardNameID;  // ID for ref

      WtChar8           szStandardName[TBDRV_EIQ_STD_NAME_MAX_LEN+1];   // standard column/table name

      WtChar8           szTypeName[42];

      WtInt32           iDataType;              // data type DBTYPE_XXX

      WtInt32           iDataLen;               // data len for DBTYPE_STR, -1 means variable length

      WtChar8           szDesc[TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1];

      WtChar8           _reserved[214];

      WtInt32           iRefCount;              // not stored, just returned via the APIs

}

TB_EIQ_STANDARD_NAME;

 

typedef struct

{

      WtInt32           iIndentLevel;                 // starts at 0 and increments as indent level increases.

      WtChar8           szDesc[ 4096 ];               // text describing item...

      WtChar8           _reserved[1024];

}

EIQ_EXECUTION_PLAN_ITEM;

 

typedef struct

{

      WtChar8           szEIQAlias[64];                                                        

      WtChar8           szRegDBAlias[64];

      WtChar8           szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];

      WtChar8           szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8           szTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];

}

TB_EIQ_CONFIG_ATTACH;

 

typedef struct

{

      WtChar8     szEIQAlias[64];

      WtChar8     szPKRegDBAlias[64];                                   // primary key schema column

      WtChar8     szPKSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];          // primary key schema column

      WtChar8     szPKTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szPKTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szPKColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

      WtChar8     szFKRegDBAlias[64];                                   // primary key schema column

      WtChar8     szFKSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];          // foreign key schema column

      WtChar8     szFKTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szFKTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szFKColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

}

TB_EIQ_ATTACH_ER_MAPPING;

 

typedef struct

{

      WtInt32     iEntityID;              // ID for ref

      WtChar8     szEntityName[64];       // standard column/table name

      WtChar8     szEntityDesc[TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1];  // standard column/table name

      WtInt32     iAttributeCount;

      WtInt32     *piAttributes;

      WtChar8     _reserved[256];

      WtInt32     iRefCount;              // not stored, just returned via the APIs

}

TB_EIQ_ENTITY;

 

typedef struct

{

      WtInt32     iEntityID;              // ID for ref

      WtChar8     szEntityName[64];       // standard column/table name

      WtChar8     szDesc[TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1];

      WtInt32     iAttributeCount;

}

TB_EIQ_ENTITY_INFO;

 

typedef struct

{

      WtChar8     szRegDBAlias[64];

      WtInt32     iRowsAffected;

      WtInt32     iActualRowsAffected;

      WtInt32     iQueryTime;

      WtChar8     szSQL[ 4096 ];

      WtChar8     _reserved[1024];

}

EIQ_VDS_EXEC_INFO;

 

typedef struct

{

      WtChar8     szRegDBAlias[64];

      WtChar8     szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];            // primary key schema column

      WtChar8     szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtUInt32    ulRowHandle;

}

TB_EIQ_URN;

 

typedef struct

{

      WtChar8           szEIQAlias[64];                                             //     

      WtChar8           szRegDBAlias[64];

      WtChar8           szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];      // schema column

      WtChar8           szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtInt32                 iMappedEntityCount;

}

TB_EIQ_MAPPED_ENTITY_INFO;

 

typedef struct

{

      WtChar8           szRegDBAlias[64];

      WtChar8           szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];      // schema column

      WtChar8           szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

}

TB_EIQ_MAPPED_TABLE_INFO;

 

typedef struct

{

      WtInt16   year;

      WtUInt16  month;

      WtUInt16  day;

}

TB_DATE;

 

typedef struct

{

      WtInt16   year;

      WtUInt16  month;

      WtUInt16  day;

      WtUInt16  hour;

      WtUInt16  minute;

      WtUInt16  second;

      WtUInt32  fraction;

}

TB_TIMESTAMP;

 

typedef struct

{

      WtInt32     lSessionHandle;

      WtChar8     szUserID[64];

      WtChar8     szDataSource[64];      

      TBDRV_TBSERVER_SESSION_STATE  iStatus;

      WtChar8     szCommand[1024];

      WtChar8     szApplication[64];

      TB_TIMESTAMP      stLoginTime;

      WtChar8     szIPAddress[64];

      WtChar8     szHost[64];

      WtChar8     szNetLibrary[64];

      WtInt32     iCurrentSession;        /* 1 : the client session which request the session info */

      WtInt32     iOpenStatementCount;    /* number of open statement */

      WtInt32     lCxtRunDownCount;

      WtInt32     lStatementCxtRunDownCount;

      WtChar8     _reserved[1008];

}

TB_SESSION_INFO;

 

typedef struct

{

      WtChar8     szUserName[TBDRV_EIQ_SERVER_USER_NAME_MAX_LEN+1];

      WtChar8     szPassword[TBDRV_EIQ_SERVER_PASSWORD_MAX_LEN+1];

      WtInt32     iRolesMask;

      WtInt32     iBuiltinUser;

      TB_DATE     stDateCreated;

      WtInt32     iRefSessionCount;

      WtChar8     _reserved[1020];

}

TB_USER_INFO;

 

typedef struct

{

      WtInt32     iError;

      WtChar8     szError[1024];

      WtChar8     _reserved[1024];

}

TB_DETAIL_ERROR_INFO;

 

typedef struct

{

      WtInt32     lSessionHandle;

      WtInt32     lStatementHandle;       /*statement handle*/

}

TB_SERVER_STATEMENT_CONTEXT;

 

// Server side mode enforcement

typedef enum EIQ_SCHEMA_MODE

{

      SCHEMA_MODE_SUPERSCHEMA             = 0x00000001,

      SCHEMA_MODE_DATA_SOURCE             = 0x00000002,

      SCHEMA_MODE_TURBOCHARGER_ALIAS      = 0x00000004,

}

EIQ_SCHEMA_MODE;

 

typedef enum EIQ_DATA_SOURCE_TYPE

{

      EIQ_DATA_SOURCE_TYPE_ODBC     = 0x00000001,

      EIQ_DATA_SOURCE_TYPE_DB2      = 0x00000002,

      EIQ_DATA_SOURCE_TYPE_ORACLE   = 0x00000004,

      EIQ_DATA_SOURCE_MDF           = 0x00000008,

      EIQ_DATA_SOURCE_DOCUMENTS     = 0x00000010,

      EIQ_DATA_SOURCE_EIQSERVER     = 0x00000020,

      EIQ_DATA_SOURCE_THUNDERBOLT   = 0x00000040,

      EIQ_DATA_SOURCE_JAVAGATEWAY   = 0x00000080,

}

EIQ_DATA_SOURCE_TYPE;

 

typedef enum EIQ_SERVER_PLATFORM

{

      EIQ_SERVER_PLATFORM_WINDOWS   = 1,

      EIQ_SERVER_PLATFORM_UNIX      = 2,

}

EIQ_SERVER_PLATFORM;

 

typedef struct

{

      WtInt32           iSchema;

      WtInt32           iDSTypes;

      WtInt32           iDataCleansingTransforms;

      WtInt32           iEntityExteaction;

      WtInt32           iTextSearch;

      WtInt32           iLinkMappingAnalysis;

      WtInt32           iPlatform;

      WtInt32           iNumVDSs;

      WtInt32           iNumDSPerVDS;

      WtInt32           iNumUsers;

      WtInt32           iMaxConcurrentQueries;

      WtInt32           iLicenseDuration;

      TB_DATE           stLicenseStartDate;

      WtChar8           _reserved[1014];

}

TB_EIQ_SERVER_MODE;

 

typedef struct

{

      WtInt32                       lSessionHandle;

      WtChar8                       szUserID[64];

      WtChar8                       szDataSource[64];

      TBDRV_TBSERVER_SESSION_STATE  iStatus;

      WtChar8                       szCommand[1024];

      WtChar8                       szApplication[64];

      TB_TIMESTAMP                  stLoginTime;

      WtChar8                       szIPAddress[64];

      WtChar8                       szHost[64];

      WtChar8                       szNetLibrary[64];

      WtInt32                       iOpenStatementCount;    /* number of open statement */

      WtInt32                       lStatementHandle;       /* statement handle */

      WtHandle                      iDDLHandle;             /* engine handle */

}

TB_SERVER_DIAG_INFO;

 

typedef struct _COL_SPEC

{

      WtChar8 szSchemaName[64];

      WtChar8 szTableName[64];

      WtChar8 szColumnName[64];

      WtInt32 iDataType;

      WtInt32 iDataLength;

}

COL_SPEC;

 

typedef struct TB_DOC_UPDATE_ITEM{

   WtInt32 duidItemType;               /* item type */

   WtInt32 duidPassThruSize;           /* size of item passthru tag */

   WtChar8 *duidPassThruPointer;       /* pointer to item passthru tag */

   WtInt32 duidItemSize;               /* size of item text */

   WtChar8 *duidItemPointer;           /* pointer to the item text */

   WtChar8 *duidReserved1;             /* reserved for internal use */

   WtChar8 *duidReserved2;             /* reserved for internal use */

   WtChar8 *duidReserved3;             /* reserved for internal use */

}

TB_DOC_UPDATE_ITEM;

 

typedef struct TB_DOC_WORD_ID{

   WtChar8  szWord[CHARS_IN_WORD+1];      /* word */

   WtInt32  iWordID;                      /* word id */

   WtChar8  _reserved[512];               // future use

}

TB_DOC_WORD_ID;

 

typedef struct TB_STATEMENT_INFO{

      WtInt32                       lStatementHandle;

      WtChar8                       szCommand[1024];

      TB_TIMESTAMP                  stOpenTime;

      TB_TIMESTAMP                  stPrepareTime;

      TB_TIMESTAMP                  stExecTime;

      WtInt32                       lUsageCount;

      WtChar8                       _reserved[1024];

}

TB_STATEMENT_INFO;

 

/* WHAMEE_ENTITY_INFO_STRUCTURE*/

typedef struct TB_WHAMEE_ENTITY_CONFIG_INFO{

 

      WtChar8           szEntityName[TBDRV_ENTITY_NAME_MAX_LEN];        // standard column/table name

      WtChar8           szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];      // schema column

      WtChar8           szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8           szDatabaseName[TBDRV_EIQ_DB_ALIAS_NAME_MAX_LEN+1];    //Name of the database required for import

      WtChar8           szOutputFieldNames[256];                        // Name of the fields required for

 

}

TB_WHAMEE_ENTITY_CONFIG_INFO;

 

// struct to insert record to table alias table

typedef struct

{

      WtChar8           szEIQAlias[64];                                                  

      WtChar8           szRegDBAlias[64];

      WtChar8           szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];

      WtChar8           szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8           szAttachedTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1]; // alias of attached table in attache mode

      WtChar8           szEIQTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];      // alias of table that user add in SuperSchema mappings

}

TB_EIQ_TABLE_ALIAS;

 

typedef struct

{

      WtChar8     szEIQAlias[64];

      WtChar8     szPKRegDBAlias[64];                                         // primary key schema column

      WtChar8     szPKSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];                // primary key schema column

      WtChar8     szPKTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szPKAttachedTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];     // alias of attached table in attache mode

      WtChar8     szPKEIQTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];          // alias of table that user add in SuperSchema mappings

      WtChar8     szPKColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

      WtChar8     szFKRegDBAlias[64];                                         // primary key schema column

      WtChar8     szFKSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];                // foreign key schema column

      WtChar8     szFKTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8     szFKAttachedTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];     // alias of attached table in attache mode

      WtChar8     szFKEIQTableAliasName[TBDRV_TABLE_NAME_MAX_LEN+1];          // alias of table that user add in SuperSchema mappings

      WtChar8     szFKColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

}

TB_EIQ_TABLE_ALIAS_ER_MAPPING;

 

typedef struct

{

      WtChar8     szTypeName[42];

      WtUInt16    usiDataType;

      WtUInt32    uiColumnSize;

      WtChar8     szLiteralPrefix[12];

      WtChar8     szLiteralSuffix[12];

      WtChar8     szCreateParams[32];

      WtUInt16    usiIsNull;

      WtUInt16    usiCaseSentitive;

      WtUInt32    uiSearchable;

      WtUInt16    usiUnsignedAttribute;

      WtUInt16    usiFixedPrecScale;

      WtUInt16    usiAutoUniqueValue;

      WtChar8     szLocalTypeName[42];

      WtInt16     siMinimumScale;

      WtInt16     siMaximumScale;

      WtChar8     szGUID[17];

      WtChar8     szTypeLib[82];

      WtChar8     szVersion[22];

      WtUInt16    usiIsLong;

      WtUInt16    usiBestMatch;

      WtUInt16    usiIsFixedLength;

}

TB_EIQ_DATA_TYPE;

 

typedef struct

{

      WtChar8           szDBAlias[64];

      WtInt32           iSegmentID;

      WtInt32           iStatus;

      WtChar8           szSuperAdapterAddress[64];

      WtInt32           iSuperAdapterPortNumber;

      WtChar8           szUserID[64];

      WtChar8           szPassword[64];

      WtChar8           szTBIndexPath[1024];

}

TB_REGDB_SEGMENT;

 

typedef struct

{

      WtChar8           szEIQAlias[64];                                 //   

      WtChar8           szRegDBAlias[64];

      WtChar8           szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];      // schema column

      WtChar8           szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtChar8           szColumnName[TBDRV_COLUMN_NAME_MAX_LEN+1];

      WtInt32           iStandardNameID;                                // mapped standard name

      WtInt32           iFlags;                                         // TSSF_xxxxx: primary/foreign key defs....

      WtInt32           iAttachStandardNameID;                          // Attach

      WtChar8           szStandardName[TBDRV_EIQ_STD_NAME_MAX_LEN+1];   // standard column/table name

      WtInt32           iDataType;                                      // data type DBTYPE_XXX

      WtInt32           iDataLen;                                       // data len for DBTYPE_STR, -1 means variable length

}

TB_CLONE_MAPPED_COLUMNS;

 

typedef struct

{

      WtChar8           szServerName[1024];

      WtInt32           iServerPortNumber;

      WtChar8           szRegDBMSName[TBDRV_EIQ_DB_ALIAS_NAME_MAX_LEN+1];

      WtChar8           szTBIndexPath[1024];

      WtInt32           iDBID;

      WtULong64         ui64NumLink;

      WtULong64         ui64NumFromIndex;

}

TB_LINK_INDEX_STAT;

 

typedef struct

{

      WHAMURN           urnFrom;

      WHAMURN           urnTo;

}

TB_LINK_INDEX_URN_PAIR;

 

typedef struct

{

      WHAMURN           urnFrom;

      WtULong64         ui64NumTourn;

}

TB_LINK_INDEX_FROM_URN_CARDINALITY;

 

typedef struct

{

      WtChar8           szFromRegDBMSName[TBDRV_EIQ_DB_ALIAS_NAME_MAX_LEN+1];

      WtChar8           szFromSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];  // schema column

      WtChar8           szFromTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtUInt32          uiFromDBID;

      WtInt32           iFromTableID;

      WtChar8           szToRegDBMSName[TBDRV_EIQ_DB_ALIAS_NAME_MAX_LEN+1];

      WtChar8           szToSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];    // schema column

      WtChar8           szToTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtUInt32          uiToDBID;

      WtInt32           iToTableID;

      WtULong64         ul64NumXLink;

}

TB_EXT_LINK_STATS;

 

typedef struct

{

      WtChar8           szFromRegDBMSName[TBDRV_EIQ_DB_ALIAS_NAME_MAX_LEN+1];

      WtChar8           szFromSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1];  // schema column

      WtChar8           szFromTableName[TBDRV_TABLE_NAME_MAX_LEN+1];

      WtUInt32          uiFromDBID;

      WtInt32           iFromTableID;

      WtULong64         ul64DistinctCount;

      WtULong64         ul64ValueCount;

}

TB_ENTITY_STATS;

 

 

Copyright © 2023 , WhamTech, Inc.  All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. Names may be trademarks of their respective owners.