1.由于郭海龙修改了提供的库,导致增加了大量南瑞的头文件, 所以新建include目录用于存放所有的南瑞提供的同文件。 2. 修复sys_nicmonitor进程重启后,调用接口告警问题。 3. 增加USER_NUSP宏,用于nusp用户。 4. 由于新增了许多头文件且需交接给郭海龙,所以独立了一版2.0版本以用于区分。 修改: code/README 新文件: code/dep/42/dotconf#1.0.13-1.pkg.tar.gz 新文件: code/dep/42/run.sh 新文件: code/dep/90/libdotconf-dev_1.3-0.2_amd64.deb 新文件: code/dep/90/libdotconf-dev_1.3-0.2_arm64.deb 新文件: code/dep/90/libdotconf0_1.3-0.2_amd64.deb 新文件: code/dep/90/libdotconf0_1.3-0.2_arm64.deb 新文件: code/dep/90/run.sh 新文件: code/dep/libproc_common.so 新文件: code/dep/old/libman.so 新文件: code/dep/proc_common.cpp 新文件: code/sys_nicmonitor-code.tar.gz 修改: code/sys_nicmonitor/Makefile 修改: code/sys_nicmonitor/README 新文件: code/sys_nicmonitor/include/common_types.h 新文件: code/sys_nicmonitor/include/d5000_err.h 新文件: code/sys_nicmonitor/include/db_api/DeleteRecorder.h 新文件: code/sys_nicmonitor/include/db_api/codb_net.h 新文件: code/sys_nicmonitor/include/db_api/mc_rtdb_m.h 新文件: code/sys_nicmonitor/include/db_api/mc_rtdb_mng.h 新文件: code/sys_nicmonitor/include/db_api/odb_apinet.h 新文件: code/sys_nicmonitor/include/db_api/odb_apinet_rtdb_key.h 新文件: code/sys_nicmonitor/include/db_api/odb_apiop.h 新文件: code/sys_nicmonitor/include/db_api/odb_apiop.h.old 新文件: code/sys_nicmonitor/include/db_api/odb_app2id.h 新文件: code/sys_nicmonitor/include/db_api/odb_autolock.h 新文件: code/sys_nicmonitor/include/db_api/odb_baseindex.h 新文件: code/sys_nicmonitor/include/db_api/odb_ckeymanager.h 新文件: code/sys_nicmonitor/include/db_api/odb_common.h 新文件: code/sys_nicmonitor/include/db_api/odb_define.h 新文件: code/sys_nicmonitor/include/db_api/odb_double_overflow_hashindex.h 新文件: code/sys_nicmonitor/include/db_api/odb_field.h 新文件: code/sys_nicmonitor/include/db_api/odb_hashindex.h 新文件: code/sys_nicmonitor/include/db_api/odb_hashpk.h 新文件: code/sys_nicmonitor/include/db_api/odb_intel_ptr.h 新文件: code/sys_nicmonitor/include/db_api/odb_lock.h 新文件: code/sys_nicmonitor/include/db_api/odb_net.h 新文件: code/sys_nicmonitor/include/db_api/odb_net_m.h 新文件: code/sys_nicmonitor/include/db_api/odb_netfactory.h 新文件: code/sys_nicmonitor/include/db_api/odb_nooverflow_pk.h 新文件: code/sys_nicmonitor/include/db_api/odb_orbmgr.h 新文件: code/sys_nicmonitor/include/db_api/odb_profile.h 新文件: code/sys_nicmonitor/include/db_api/odb_prv_struct.h 新文件: code/sys_nicmonitor/include/db_api/odb_public.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbbase.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbfactory.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbop.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbtable.h 新文件: code/sys_nicmonitor/include/db_api/odb_struct.h 新文件: code/sys_nicmonitor/include/db_api/odb_system.h 新文件: code/sys_nicmonitor/include/db_api/odb_table.h 新文件: code/sys_nicmonitor/include/db_api/odb_tablebase.h 新文件: code/sys_nicmonitor/include/db_api/odb_tablemgr.h 新文件: code/sys_nicmonitor/include/db_api/odb_tablenet.h 新文件: code/sys_nicmonitor/include/db_api/odb_tableop.h 新文件: code/sys_nicmonitor/include/db_api/odb_where.h 新文件: code/sys_nicmonitor/include/db_api/pub_buf.h 新文件: code/sys_nicmonitor/include/db_api/rtdb_graph_name_list.h 新文件: code/sys_nicmonitor/include/db_api/server2proto.h 新文件: code/sys_nicmonitor/include/db_api/tab2idx.h 新文件: code/sys_nicmonitor/include/db_api/vl_get_data.h 新文件: code/sys_nicmonitor/include/db_api/vl_struct.h 新文件: code/sys_nicmonitor/include/db_api/vl_struct_m.cpp 新文件: code/sys_nicmonitor/include/db_api/vl_struct_m.h 新文件: code/sys_nicmonitor/include/db_com/CAppNo.h 新文件: code/sys_nicmonitor/include/db_com/CCharArray.h 新文件: code/sys_nicmonitor/include/db_com/CDataStream.h 新文件: code/sys_nicmonitor/include/db_com/CDbCommitClient.h 新文件: code/sys_nicmonitor/include/db_com/CDbMonitorClient.h 新文件: code/sys_nicmonitor/include/db_com/CDbMonitorLocal.h 新文件: code/sys_nicmonitor/include/db_com/CDbMonitorShm.h 新文件: code/sys_nicmonitor/include/db_com/CDbRepSet.h 新文件: code/sys_nicmonitor/include/db_com/CDbSem.h 新文件: code/sys_nicmonitor/include/db_com/CDbSemUse.h 新文件: code/sys_nicmonitor/include/db_com/CDbShm.h 新文件: code/sys_nicmonitor/include/db_com/CDyCfgLocal.h 新文件: code/sys_nicmonitor/include/db_com/CDyCommitClient.h 新文件: code/sys_nicmonitor/include/db_com/CDyMonitorClient.h 新文件: code/sys_nicmonitor/include/db_com/CDyMonitorLocal.h 新文件: code/sys_nicmonitor/include/db_com/CDyMonitorShm.h 新文件: code/sys_nicmonitor/include/db_com/CDySem.h 新文件: code/sys_nicmonitor/include/db_com/CDySemUse.h 新文件: code/sys_nicmonitor/include/db_com/CDyShm.h 新文件: code/sys_nicmonitor/include/db_com/CDyTagShmInfo.h 新文件: code/sys_nicmonitor/include/db_com/CErrorLog.h 新文件: code/sys_nicmonitor/include/db_com/CFindFile.h 新文件: code/sys_nicmonitor/include/db_com/CPrecTime.h 新文件: code/sys_nicmonitor/include/db_com/CRecordSet.h 新文件: code/sys_nicmonitor/include/db_com/CRedisAccess.h 新文件: code/sys_nicmonitor/include/db_com/CRepSet.h 新文件: code/sys_nicmonitor/include/db_com/CSaveReCommitSql.h 新文件: code/sys_nicmonitor/include/db_com/CSqlResultAlign.h 新文件: code/sys_nicmonitor/include/db_com/CSqlResultAlignClient.h 新文件: code/sys_nicmonitor/include/db_com/CSqlResultAlignClient2.h 新文件: code/sys_nicmonitor/include/db_com/DBAccess.h 新文件: code/sys_nicmonitor/include/db_com/DBCipher.h 新文件: code/sys_nicmonitor/include/db_com/DBConnectPool.h 新文件: code/sys_nicmonitor/include/db_com/DbFileNetIf.h 新文件: code/sys_nicmonitor/include/db_com/Hbase.h 新文件: code/sys_nicmonitor/include/db_com/Hbase_constants.h 新文件: code/sys_nicmonitor/include/db_com/Hbase_types.h 新文件: code/sys_nicmonitor/include/db_com/MyMutex.h 新文件: code/sys_nicmonitor/include/db_com/cross_region_sync_client.h 新文件: code/sys_nicmonitor/include/db_com/database_rep_m.h 新文件: code/sys_nicmonitor/include/db_com/db_commit_define.h 新文件: code/sys_nicmonitor/include/db_com/db_commit_m.h 新文件: code/sys_nicmonitor/include/db_com/db_error_define.h 新文件: code/sys_nicmonitor/include/db_com/db_extern.h 新文件: code/sys_nicmonitor/include/db_com/db_global.h 新文件: code/sys_nicmonitor/include/db_com/db_micro_define.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_define.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_define.h.old 新文件: code/sys_nicmonitor/include/db_com/db_monitor_extern.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_global.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_m.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_m.h.old 新文件: code/sys_nicmonitor/include/db_com/db_rep_lib_define.h 新文件: code/sys_nicmonitor/include/db_com/db_stat_m.h 新文件: code/sys_nicmonitor/include/db_com/db_stat_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/ds_log.h 新文件: code/sys_nicmonitor/include/db_com/dy_commit_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_monitor_define.h 新文件: code/sys_nicmonitor/include/db_com/dy_monitor_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_public_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_sample_define_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_sample_define_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/dy_stat_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_stat_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/hiredis.h 新文件: code/sys_nicmonitor/include/db_com/interpreter_define.h 新文件: code/sys_nicmonitor/include/db_com/interpreter_struct.h 新文件: code/sys_nicmonitor/include/db_com/lexical_anls.h 新文件: code/sys_nicmonitor/include/db_com/public_m.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_m.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_pi.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_pi_m.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_service_pi_interface.h 新文件: code/sys_nicmonitor/include/db_com/query_stat_m.h 新文件: code/sys_nicmonitor/include/db_com/query_stat_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/rdb_commit_client.h 新文件: code/sys_nicmonitor/include/db_com/rdb_commit_m.h 新文件: code/sys_nicmonitor/include/db_com/rdb_define.pb.h 新文件: code/sys_nicmonitor/include/db_com/read.h 新文件: code/sys_nicmonitor/include/db_com/rtdbkey_defs.h 新文件: code/sys_nicmonitor/include/db_com/sample_data_client_base.h 新文件: code/sys_nicmonitor/include/db_com/sample_data_m.h 新文件: code/sys_nicmonitor/include/db_com/sample_define_m.h 新文件: code/sys_nicmonitor/include/db_com/sample_define_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/sample_modify_m.h 新文件: code/sys_nicmonitor/include/db_com/sample_modify_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/sds.h 新文件: code/sys_nicmonitor/include/db_com/server_define.h 新文件: code/sys_nicmonitor/include/db_com/sheetdataclient.h 新文件: code/sys_nicmonitor/include/db_com/sheetdataclient.h0604 新文件: code/sys_nicmonitor/include/db_com/sql_sp_client_base.h 新文件: code/sys_nicmonitor/include/db_com/sql_sp_define.h 新文件: code/sys_nicmonitor/include/db_com/sql_sp_m.h 新文件: code/sys_nicmonitor/include/db_com/sql_sp_send_client_base.h 新文件: code/sys_nicmonitor/include/db_com/sql_syntax_anls.h 新文件: code/sys_nicmonitor/include/db_com/sql_to_cime.h 新文件: code/sys_nicmonitor/include/db_com/sqlite_access.h 新文件: code/sys_nicmonitor/include/db_com/sqlite_server_client.h 新文件: code/sys_nicmonitor/include/db_com/sqlite_srv_m.h 新文件: code/sys_nicmonitor/include/db_com/store_access_client.h 新文件: code/sys_nicmonitor/include/db_com/trigger_sample_m.h 新文件: code/sys_nicmonitor/include/db_com/trigger_sample_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/wholepubtools.h 新文件: code/sys_nicmonitor/include/db_com/wholesampledata.h 新文件: code/sys_nicmonitor/include/db_com/wholesqlsp.h 新文件: code/sys_nicmonitor/include/log_api.h 新文件: code/sys_nicmonitor/include/log_define.h 新文件: code/sys_nicmonitor/include/logclient.h 新文件: code/sys_nicmonitor/include/port_def.h 新文件: code/sys_nicmonitor/include/proc_common.h 新文件: code/sys_nicmonitor/include/scn_common.h 新文件: code/sys_nicmonitor/include/sysadm/proc_define.h 新文件: code/sys_nicmonitor/include/sysadm/scn_define.h 新文件: code/sys_nicmonitor/include/system.h 修改: code/sys_nicmonitor/mnic.c 修改: code/sys_nicmonitor/nicinfo_shm.c 修改: code/sys_nicmonitor/test.c 修改: code/sys_nicmonitor/version.h 新文件: code/test/test_nic 新文件: code/test/test_nic.cpp 新文件: packages/sys_nicmonitor-2.0-linx90-aarch64-bin-d5000.tar.gz 新文件: packages/sys_nicmonitor-2.0-linx90-aarch64-bin-nusp.tar.gz 新文件: packages/sys_nicmonitor-2.0-linx90-x86_64-bin-d5000.tar.gz 新文件: packages/sys_nicmonitor-2.0-linx90-x86_64-bin-nusp.tar.gz 重命名: sys_nicmonitor-arm-bin.tar.gz -> packages/sys_nicmonitor-arm-bin.tar.gz 重命名: sys_nicmonitor-arm.tar.gz -> packages/sys_nicmonitor-arm.tar.gz 新文件: packages/sys_nicmonitor-mips64-bin.tar.gz 新文件: packages/sys_nicmonitor-mips64.tar.gz Signed-off-by: Wei, Jing <jwei@linx-info.com>
459 lines
11 KiB
C++
459 lines
11 KiB
C++
#ifndef __ODB_STRUCT_H__
|
||
#define __ODB_STRUCT_H__
|
||
#ifndef _WINDOWS64
|
||
#include <sys/mman.h>
|
||
#endif
|
||
|
||
#include <map>
|
||
#include <string>
|
||
#include <stdio.h>
|
||
#include <stdlib.h>
|
||
#include "db_api/odb_define.h"
|
||
#include "common_types.h"
|
||
#include "db_com/rtdbkey_defs.h"
|
||
|
||
////////////////////////////////////////////////////////
|
||
|
||
struct SCENARIO_PARA
|
||
{
|
||
std::string scenario;
|
||
unsigned int scenario_id;//note: scenario_id is not used in comparasion, to avoid inconsistent with scenario
|
||
unsigned int scenario_inst;
|
||
std::string sub_scenario;
|
||
unsigned int sub_scenario_id;//note: sub_scenario_id is not used in comparasion, to avoid inconsistent with sub_scenario
|
||
unsigned int sub_scenario_inst;
|
||
public:
|
||
SCENARIO_PARA& operator=(const SCENARIO_PARA& _right);
|
||
bool operator==(const SCENARIO_PARA& _right) const;
|
||
bool operator<(const SCENARIO_PARA& _right) const;
|
||
bool operator<=(const SCENARIO_PARA& _right) const;
|
||
bool operator>(const SCENARIO_PARA& _right) const;
|
||
bool operator>=(const SCENARIO_PARA& _right) const;
|
||
std::string to_string() const;
|
||
};
|
||
#ifndef _BIGENDIAN
|
||
struct KEY_STRU
|
||
{
|
||
int key;
|
||
short field_id;
|
||
short table_no;
|
||
};
|
||
|
||
struct KEY_STRU_AREA
|
||
{
|
||
int key:24;
|
||
int area:8;
|
||
short field_id;
|
||
short table_no;
|
||
};
|
||
#else
|
||
struct KEY_STRU
|
||
{
|
||
short table_no;
|
||
short field_id;
|
||
int key;
|
||
};
|
||
|
||
struct KEY_STRU_AREA
|
||
{
|
||
short table_no;
|
||
short field_id;
|
||
int area:8;
|
||
int key:24;
|
||
};
|
||
#endif
|
||
|
||
struct SCENARIO_ID_INFO
|
||
{
|
||
unsigned int scenario_id;
|
||
unsigned int scenario_inst;
|
||
unsigned int sub_scenario_id;
|
||
unsigned int sub_scenario_inst;
|
||
|
||
public:
|
||
//struct SCENARIO_ID_INFO():scenario_id(0),scenario_inst(0),sub_scenario_id(0),sub_scenario_inst(0){}
|
||
//SCENARIO_PARA& operator=(const SCENARIO_ID_INFO& _right);
|
||
bool operator==(const SCENARIO_ID_INFO& _right) const;
|
||
bool operator<(const SCENARIO_ID_INFO& _right) const;
|
||
bool operator<=(const SCENARIO_ID_INFO& _right) const;
|
||
bool operator>(const SCENARIO_ID_INFO& _right) const;
|
||
bool operator>=(const SCENARIO_ID_INFO& _right) const;
|
||
bool operator!=(const SCENARIO_ID_INFO& _right) const;
|
||
std::string to_string() const;
|
||
std::string FormCommonSqlStringID() const;
|
||
};
|
||
|
||
typedef cmnInt64 KEY_ID_STRU;
|
||
typedef cmnUint32 TABLE_NO_T;
|
||
typedef cmnUint32 COLUMN_NO_T;
|
||
typedef cmnUint64 ARA_SER_NO_T;
|
||
|
||
struct RTDB_KEY_STRU
|
||
{
|
||
cmnUint64 key_id1; //indicate table_id
|
||
cmnUint64 key_id2; //indicate area_id_serial_no && column_no(4)
|
||
//Constructor
|
||
RTDB_KEY_STRU() : key_id1(0), key_id2(0) { }
|
||
RTDB_KEY_STRU(const TABLE_NO_T table_no, const ARA_SER_NO_T area_serial_no, const COLUMN_NO_T column_no = 0);
|
||
RTDB_KEY_STRU(const std::string &stringid);
|
||
|
||
//creator
|
||
//RTDB_KEY_STRU(){key_id1=0;key_id2=0;}
|
||
inline void create_key(const TABLE_NO_T table_no, const ARA_SER_NO_T area_serial_no, const COLUMN_NO_T column_no = 0);
|
||
|
||
void create_key(const std::string &stringid); //<2F>漰<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>̫<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
//operator
|
||
bool operator==(const RTDB_KEY_STRU &right) const;
|
||
bool operator!=(const RTDB_KEY_STRU &right) const;
|
||
bool operator>(const RTDB_KEY_STRU &right) const;
|
||
bool operator<(const RTDB_KEY_STRU &right) const;
|
||
bool operator<=(const RTDB_KEY_STRU &right) const;
|
||
bool operator>=(const RTDB_KEY_STRU &right) const;
|
||
|
||
RTDB_KEY_STRU& operator=(const RTDB_KEY_STRU &right);
|
||
|
||
inline bool is_null() const { return key_id1 == 0 && key_id2 == 0;}
|
||
inline void set_null() { key_id1 = 0; key_id2 = 0;}
|
||
|
||
//Get Function
|
||
inline TABLE_NO_T GetTableID() const;
|
||
inline ARA_SER_NO_T GetAreaSerialNo() const;
|
||
inline COLUMN_NO_T GetColumnNo() const;
|
||
|
||
//Set Function
|
||
void SetTableID(TABLE_NO_T table_no);
|
||
void SetAreaSerialNo(ARA_SER_NO_T area_serial_no);
|
||
void SetColumnNo(COLUMN_NO_T column_no);
|
||
|
||
|
||
std::string FormStringID() const;
|
||
|
||
|
||
std::string FormSgID() const;
|
||
|
||
std::string FormCommonSqlStringID() const;
|
||
|
||
int FormSqlStr(char* sql_value, const int length) const;
|
||
};
|
||
|
||
|
||
struct APP_KEY_STRU
|
||
{
|
||
int app_id;
|
||
RTDB_KEY_STRU key_id;
|
||
|
||
bool operator>(const APP_KEY_STRU &kr) const;
|
||
bool operator<(const APP_KEY_STRU &kr) const;
|
||
bool operator==(const APP_KEY_STRU &kr) const;
|
||
bool operator!=(const APP_KEY_STRU &kr) const;
|
||
|
||
std::string FormCommonSqlStringID() const;
|
||
|
||
int FormSqlStr(char* sql_value, const int length) const;
|
||
};
|
||
|
||
struct SCN_ID_STRU
|
||
{
|
||
struct SCENARIO_ID_INFO scn_info;
|
||
RTDB_KEY_STRU key_id;
|
||
|
||
bool operator>(const SCN_ID_STRU &kr) const;
|
||
bool operator<(const SCN_ID_STRU &kr) const;
|
||
bool operator==(const SCN_ID_STRU &kr) const;
|
||
bool operator!=(const SCN_ID_STRU &kr) const;
|
||
|
||
std::string FormCommonSqlStringID() const;
|
||
std::string FormStringID();
|
||
int FormSqlStr(char* sql_value, const int length) const;
|
||
};
|
||
|
||
struct APP_ID_STRU
|
||
{
|
||
int app_id;
|
||
RTDB_KEY_STRU key_id;
|
||
|
||
bool operator>(const APP_ID_STRU &kr) const;
|
||
bool operator<(const APP_ID_STRU &kr) const;
|
||
bool operator==(const APP_ID_STRU &kr) const;
|
||
bool operator!=(const APP_ID_STRU &kr) const;
|
||
|
||
std::string FormCommonSqlStringID() const;
|
||
|
||
int FormSqlStr(char* sql_value, const int length) const;
|
||
};
|
||
|
||
|
||
#ifdef _BIGENDIAN
|
||
struct COMM_KEY_STRU
|
||
{
|
||
short table_no;
|
||
short column_id;
|
||
int record_id;
|
||
};
|
||
#else
|
||
struct COMM_KEY_STRU
|
||
{
|
||
int record_id;
|
||
short column_id;
|
||
short table_no;
|
||
};
|
||
#endif
|
||
|
||
#ifdef _BIGENDIAN
|
||
struct COMM_KEY_AREA_STRU
|
||
{
|
||
short table_no;
|
||
short column_id;
|
||
int area_id:8;
|
||
int record_id:24;
|
||
};
|
||
#else
|
||
struct COMM_KEY_AREA_STRU
|
||
{
|
||
int record_id:24;
|
||
int area_id:8;
|
||
short column_id;
|
||
short table_no;
|
||
};
|
||
#endif
|
||
|
||
struct _RTDB_KEY_STRU //as same as RTDB_KEY_STRU, to solve the problem that RTDB_KEY_STRU need constructor
|
||
{
|
||
cmnUint64 key_id1;
|
||
cmnUint64 key_id2;
|
||
|
||
bool operator==(const _RTDB_KEY_STRU &right) const;
|
||
bool operator!=(const _RTDB_KEY_STRU &right) const;
|
||
bool operator>(const _RTDB_KEY_STRU &right) const;
|
||
bool operator<(const _RTDB_KEY_STRU &right) const;
|
||
|
||
inline cmnUint32 GetTableID() const;
|
||
inline cmnUint64 GetAreaSerialNo() const;
|
||
inline cmnUint32 GetColumnNo() const;
|
||
};
|
||
|
||
|
||
struct _SCN_ID_STRU
|
||
{
|
||
struct SCENARIO_ID_INFO scn_info;
|
||
_RTDB_KEY_STRU key_id;
|
||
|
||
bool operator>(const _SCN_ID_STRU &kr) const;
|
||
bool operator<(const _SCN_ID_STRU &kr) const;
|
||
bool operator==(const _SCN_ID_STRU &kr) const;
|
||
bool operator!=(const _SCN_ID_STRU &kr) const;
|
||
|
||
std::string FormCommonSqlStringID() const;
|
||
int FormSqlStr(char* sql_value, const int length) const;
|
||
};
|
||
|
||
struct _APP_KEY_STRU //as same as APP_KEY_STRU
|
||
{
|
||
int app_id;
|
||
_RTDB_KEY_STRU key_id;
|
||
|
||
bool operator>(const _APP_KEY_STRU &kr) const;
|
||
bool operator<(const _APP_KEY_STRU &kr) const;
|
||
bool operator==(const _APP_KEY_STRU &kr) const;
|
||
bool operator!=(const _APP_KEY_STRU &kr) const;
|
||
};
|
||
|
||
struct _APP_ID_STRU
|
||
{
|
||
int app_id;
|
||
_RTDB_KEY_STRU key_id;
|
||
|
||
bool operator>(const _APP_ID_STRU &kr) const;
|
||
bool operator<(const _APP_ID_STRU &kr) const;
|
||
bool operator==(const _APP_ID_STRU &kr) const;
|
||
bool operator!=(const _APP_ID_STRU &kr) const;
|
||
};
|
||
|
||
|
||
//
|
||
//data define for record sort of real time db
|
||
//
|
||
union SORT_DATA_TYPE
|
||
{
|
||
char to_str[CHN_NAME_LEN];
|
||
int to_int;
|
||
float to_float;
|
||
double to_double;
|
||
cmnInt64 to_long;
|
||
unsigned int to_uint;
|
||
//KEY_ID_STRU to_key;
|
||
_APP_KEY_STRU to_appkey;
|
||
_APP_ID_STRU to_appid;
|
||
unsigned char to_uchar;
|
||
_RTDB_KEY_STRU to_rtdbkey;
|
||
_RTDB_KEY_STRU to_measrtdbkey;
|
||
_SCN_ID_STRU to_scn_id;
|
||
};
|
||
|
||
//lmj add 2004.0521
|
||
|
||
struct INT_VALUE_STATUS
|
||
{
|
||
int value;
|
||
int status;
|
||
|
||
};
|
||
|
||
struct FLOAT_VALUE_STATUS
|
||
{
|
||
float value;
|
||
int status;
|
||
|
||
};
|
||
|
||
|
||
struct CHAR_VALUE_STATUS
|
||
{
|
||
// char value[CHN_NAME_LEN];
|
||
unsigned char value;
|
||
int status;
|
||
|
||
};
|
||
|
||
struct LONG_VALUE_STATUS
|
||
{
|
||
cmnInt64 value;
|
||
int status;
|
||
|
||
};
|
||
|
||
struct UNION_VALUE_STATUS
|
||
{
|
||
SORT_DATA_TYPE value;
|
||
int status;
|
||
};
|
||
|
||
|
||
struct KEY_ID_STA_STRU
|
||
{
|
||
RTDB_KEY_STRU key_id_stru;
|
||
int status_field;
|
||
|
||
};
|
||
|
||
////////////////// file mapping cache //////////////////////////
|
||
|
||
#define RDB_MAX_MAP_LEN 8000000000
|
||
#define RDB_FILE_NAME_LEN 256
|
||
|
||
typedef cmnInt64 MAP_FILE_KEY;
|
||
|
||
struct MapItem
|
||
{
|
||
char *map_file_ptr;
|
||
char file_name[RDB_FILE_NAME_LEN];
|
||
unsigned int map_size;
|
||
int counter;
|
||
MAP_FILE_KEY map_id;
|
||
|
||
MapItem *p_next;
|
||
MapItem *p_prev;
|
||
|
||
MapItem()
|
||
{
|
||
map_file_ptr = NULL;
|
||
map_size = 0;
|
||
counter = 0;
|
||
map_id = 0;
|
||
memset(file_name, 0, RDB_FILE_NAME_LEN);
|
||
p_next = NULL;
|
||
p_prev = NULL;
|
||
}
|
||
};
|
||
|
||
struct CMmapList
|
||
{
|
||
struct MapItem *m_list;
|
||
struct MapItem *m_ptail; //tail of list
|
||
long m_length;
|
||
unsigned int m_item_num;
|
||
CMmapList()
|
||
{
|
||
m_list = NULL;
|
||
m_ptail = NULL;
|
||
m_length = 0;
|
||
m_item_num = 0;
|
||
}
|
||
};
|
||
|
||
|
||
#define MAP_ID_SYSTEM 1
|
||
#if 0
|
||
struct MAP_FILE_KEY
|
||
{
|
||
#ifndef _BIGENDIAN
|
||
int area_no:8;
|
||
short table_no;
|
||
int app_no;
|
||
int ctx_no:8;
|
||
#else
|
||
int ctx_no:8;
|
||
int app_no;
|
||
short table_no;
|
||
int area_no:8;
|
||
#endif
|
||
bool operator>(const MAP_FILE_KEY& kr) const
|
||
{
|
||
// return ( (this-> > kr.app_id) ||
|
||
// ((this->app_id == kr.app_id) && (this->key_id > kr.key_id)) );
|
||
return (*(cmnInt64*)this > (const cmnInt64&)kr);
|
||
}
|
||
|
||
bool operator<(const MAP_FILE_KEY& kr) const
|
||
{
|
||
// return ( (this->ctx_no < kr.ctx_no) ||
|
||
// ((this->ctx_no == kr.ctx_no) && (this->app_no < kr.app_no)) );
|
||
return (*(cmnInt64*)this < (const cmnInt64&)kr);
|
||
}
|
||
|
||
bool operator==(const MAP_FILE_KEY& kr) const
|
||
{
|
||
// return ( (this->ctx_no == kr.ctx_no) && (this->app_no == kr.app_no)
|
||
// && (this->table_no == kr.table_no) && (this->area_no == kr.area_no));
|
||
return (*(cmnInt64*)this == (const cmnInt64&)kr);
|
||
}
|
||
|
||
bool operator!=(const MAP_FILE_KEY& kr) const
|
||
{
|
||
/*
|
||
if(this->ctx_no != kr.ctx_no)
|
||
return true;
|
||
if(this->app_no != kr.app_no)
|
||
return true;
|
||
if(this->table_no != kr.table_no)
|
||
return true;
|
||
if(this->area_no != kr.area_no)
|
||
return true;
|
||
return false;
|
||
*/
|
||
return (*(cmnInt64*)this != (const cmnInt64&)kr);
|
||
}
|
||
|
||
};
|
||
#endif
|
||
|
||
|
||
typedef struct map_file_value
|
||
{
|
||
char *map_file_ptr;
|
||
char file_name[256];
|
||
unsigned int map_size;
|
||
int counter;
|
||
}RDB_MAP_FILE_VALUE;
|
||
|
||
typedef std::map<MAP_FILE_KEY, RDB_MAP_FILE_VALUE> RDB_FILE_MAP;
|
||
|
||
typedef struct map_file_struct
|
||
{
|
||
RDB_FILE_MAP map_file_list;
|
||
cmnInt64 m_total_cache;
|
||
}MMapInfoList;
|
||
|
||
#endif
|