EIQ Configuration and Administration API Functions and Structures
Registered Data Source Configuration
EIQ Server Data Source (Virtual Data Source) Configuration
Standard Data Model Based Schema (SuperSchema)
Link Index Entity Configuration
Link Index Configuration/Build/Analysis
Data Source Administration/Monitoring
WhamEE (Entity Extraction Server)
EIQ DS TransMon (Data Source Transaction Monitor) Server
JavaGateway Server Configuration
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.
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);
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);
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[]);
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);
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);
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);
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);
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);
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[]);
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[]);
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[]);
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);
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);
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);
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);
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 );
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 );
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 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);
typedef struct
{
WtChar8 szDBDriverAlias[64];
WtChar8 szDriverPath[1024];
WtChar8 _reserved[1024];
}
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
}
typedef struct
{
WtChar8 szEIQDBAlias[64];
EIQ_DB_TYPE enDBType;
WtChar8 szRemoteEIQAddress[64];
WtChar8 _reserved[960]; // future use
}
typedef struct
{
WtChar8 szDBType[64];
WtChar8 szDBAlias[64];
WtChar8 szDBPath[1024];
}
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
}
typedef struct
{
WtChar8 szServerName[1024];
WtChar8 szDBMSName[1024];
WtInt32 iServerPortNumber;
WtChar8 _reserved[1020]; // future use
}
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
}
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];
}
typedef struct
{
WtChar8 szEIQAlias[64];
WtChar8 szDesc[TBDRV_EIQ_OBJECT_DESC_MAX_LEN+1];
}
typedef struct
{
WtChar8 szEIQAlias[64];
WtChar8 szTableName[64];
WtInt32 iColumnCount;
}
// 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];
}
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];
}
typedef struct
{
WtChar8 szSettingValue[1024];
WtChar8 _reserved[1024];
}
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];
}
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
}
typedef struct
{
WtInt32 iIndentLevel; // starts at 0 and increments as indent level increases.
WtChar8 szDesc[ 4096 ]; // text describing item...
WtChar8 _reserved[1024];
}
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];
}
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];
}
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
}
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;
}
typedef struct
{
WtChar8 szRegDBAlias[64];
WtInt32 iRowsAffected;
WtInt32 iActualRowsAffected;
WtInt32 iQueryTime;
WtChar8 szSQL[ 4096 ];
WtChar8 _reserved[1024];
}
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;
}
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;
}
typedef struct
{
WtChar8 szRegDBAlias[64];
WtChar8 szSchemaName[TBDRV_SCHEMA_NAME_MAX_LEN+1]; // schema column
WtChar8 szTableName[TBDRV_TABLE_NAME_MAX_LEN+1];
}
typedef struct
{
WtInt16 year;
WtUInt16 month;
WtUInt16 day;
}
typedef struct
{
WtInt16 year;
WtUInt16 month;
WtUInt16 day;
WtUInt16 hour;
WtUInt16 minute;
WtUInt16 second;
WtUInt32 fraction;
}
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];
}
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];
}
typedef struct
{
WtInt32 iError;
WtChar8 szError[1024];
WtChar8 _reserved[1024];
}
typedef struct
{
WtInt32 lSessionHandle;
WtInt32 lStatementHandle; /*statement handle*/
}
// Server side mode enforcement
typedef enum EIQ_SCHEMA_MODE
{
SCHEMA_MODE_SUPERSCHEMA = 0x00000001,
SCHEMA_MODE_DATA_SOURCE = 0x00000002,
SCHEMA_MODE_TURBOCHARGER_ALIAS = 0x00000004,
}
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,
}
typedef enum EIQ_SERVER_PLATFORM
{
EIQ_SERVER_PLATFORM_WINDOWS = 1,
EIQ_SERVER_PLATFORM_UNIX = 2,
}
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];
}
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 */
}
typedef struct _COL_SPEC
{
WtChar8 szSchemaName[64];
WtChar8 szTableName[64];
WtChar8 szColumnName[64];
WtInt32 iDataType;
WtInt32 iDataLength;
}
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 */
}
typedef struct TB_DOC_WORD_ID{
WtChar8 szWord[CHARS_IN_WORD+1]; /* word */
WtInt32 iWordID; /* word id */
WtChar8 _reserved[512]; // future use
}
typedef struct TB_STATEMENT_INFO{
WtInt32 lStatementHandle;
WtChar8 szCommand[1024];
TB_TIMESTAMP stOpenTime;
TB_TIMESTAMP stPrepareTime;
TB_TIMESTAMP stExecTime;
WtInt32 lUsageCount;
WtChar8 _reserved[1024];
}
/* 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
}
// 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
}
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];
}
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;
}
typedef struct
{
WtChar8 szDBAlias[64];
WtInt32 iSegmentID;
WtInt32 iStatus;
WtChar8 szSuperAdapterAddress[64];
WtInt32 iSuperAdapterPortNumber;
WtChar8 szUserID[64];
WtChar8 szPassword[64];
WtChar8 szTBIndexPath[1024];
}
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
}
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;
}
typedef struct
{
WHAMURN urnFrom;
WHAMURN urnTo;
}
typedef struct
{
WHAMURN urnFrom;
WtULong64 ui64NumTourn;
}
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;
}
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;
}
Copyright © 2019 , 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.