Files
autobuild-tools/code/sys_nicmonitor/include/db_com/CDbRepSet.h
Wei, Jing 5c462e7adb [Issue #2 ] 南瑞郭海龙交接最终版2.0
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>
2020-10-22 19:15:38 +08:00

193 lines
7.8 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//******************************************************************
//
// AUTHOR : LMJ
//
// FUNCTION : 复制动态库头文件
//
// TIME : 2003.08.30
//
// HISTORY :
// Datetime Action Author Reason
// -------------------------------------------------------------------
// 2003.08.30 Creation LMJ
// 2004.05.26 Add ZHANGKH Add LOB interface
// 2004.12.20 Modify ZhangKeHeng Modify Function for Time Seq
// 2005.12.28 Add ZhangKeHeng 部分复制
//******************************************************************
#ifndef __CREPSET_H
#define __CREPSET_H
#ifdef _WINDOWS64
#ifdef DB_REP_LIB_EXPORTS
#define DB_REP_LIB_API __declspec(dllexport)
#else
#define DB_REP_LIB_API __declspec(dllimport)
#endif
#else
#define DB_REP_LIB_API
#endif
#include "db_rep_lib_define.h"
#include "database_rep_m.h"
#ifndef BIND_CHR
#define BIND_CHR 1 /* 字符型 unsigned char */
#endif
#ifndef BIND_INT
#define BIND_INT 3 /* 短整型short 整形int 长整型long */
#endif
#ifndef BIND_FLT
#define BIND_FLT 4 /* 浮点数float double */
#endif
#ifndef BIND_STR
#define BIND_STR 5 /* 字符串string */
#endif
#ifndef BIND_ODT
#define BIND_ODT 156 /* 日期型date*/
#endif
const int PARTLY_REP_POLICY_NOREP = 1;
const int PARTLY_REP_POLICY_ALLREP = 2;
const int PARTLY_REP_POLICY_LIST_REP = 3;
const int PARTLY_REP_POLICY_LIST_NOREP = 4;
//进程复制策略
const int PARTLY_REP_POLICY_NOREP_EXCEPT_PROC = 5;
const int PARTLY_REP_POLICY_ALLREP_EXCEPT_PROC = 6;
const int PARTLY_REP_POLICY_LIST_REP_EXCEPT_PROC = 7;
const int PARTLY_REP_POLICY_LIST_NOREP_EXCEPT_PROC = 8;
//进程中可被重新设定的策略(如果进程策略被设定为以下四种,则可以调用SetProcRepList重新设定进程复制策略和复制列表)
const int PARTLY_REP_POLICY_NOREP_SET = 9;//norep_set
const int PARTLY_REP_POLICY_ALLREP_SET = 10;//allrep_set
const int PARTLY_REP_POLICY_LIST_REP_SET = 11;//list_rep_set
const int PARTLY_REP_POLICY_LIST_NOREP_SET = 12;//list_norep_set
const int PARTLY_REP_PROCESS_MODEL = 1;
const int PARTLY_REP_PROCESS_WARN = 2;
const int PARTLY_REP_PROCESS_LOB_EXE = 3;
const int PARTLY_REP_PROCESS_LOB = 4;
const int PARTLY_REP_PROCESS_STATICS = 5;
const int PARTLY_REP_PROCESS_HISDB = 6;
struct ProcessRepInfo
{
int process_list_policy;
string process_name;
vector<string> process_table_list_vec;
};
struct PartlyRepInfo
{
string db_service_describe;
int sample_list_policy;
int warn_list_policy;
int model_list_policy;
int statics_list_policy; //add jihy 20130328
vector<string> warn_list_vec;
vector<string> model_list_vec;
vector<string> statics_list_vec;//add jihy 20130328'
vector<ProcessRepInfo> sample_process_repinfo;//进程信息集合
vector<ProcessRepInfo> warn_process_repinfo;
vector<ProcessRepInfo> model_process_repinfo;
vector<ProcessRepInfo> statics_process_repinfo;
};
class DB_REP_LIB_API CDbRepSet
{
public:
CDbRepSet();
~CDbRepSet();
public:
//初始化复制动态库 (proc_alias_name为进程别名,需要与db_partly_rep.sys中名称一致)
int InitReplicateSet (string proc_alias_name = "");
//设置进程复制列表(设置进程复制策略和哪些表的语句需要复制) (默认为列表复制策略) (proc_alias_name为进程别名,需要与db_partly_rep.sys中名称一致)
int SetProcRepList (const string &proc_alias_name,
vector<string> &tablename_vec, const string & strUserName = "d5000",
int rep_policy = PARTLY_REP_POLICY_LIST_REP_SET);
//时序要求复制例如模型strDbName 为 db_config_ext.sys中的db_service_describe
int ReplicateSql (const vector<string> &strSqlVec , const string &strDbName,
const string & strUserName = "d5000");
//非时序要求复制例如告警strDbName 为 db_config_ext.sys中的db_service_describe
int ReplicateSqlWithNoTimeSeq (const vector<string> &strSqlVec ,
const string &strDbName , const string & strUserName = "alarm");
//非时序要求复制例如采样strDbName 为 db_config_ext.sys中的db_service_describe
int ReplicateSqlWithNoTimeSeqSample (const vector<string> &strSqlVec ,
const string &strDbName , const string & strUserName = "hisdb");
//大字段复制
int ReplicateLOB (const string &strSql , const string &strDbName,
const string & strUserName = "d5000");
int ReplicateLOB (const string &strSql , const string &strSqlSelect ,
const vector<TLOBContent> &lobVec, bool is_insert, const string &strDbName,
const string & strUserName = "d5000");
//绑定变量复制 add by shihaoqiu 20130313
int ReplicateBind (const TRepBindStru &bind_stru, const string &strDbName,
const string & strUserName = "d5000");
private:
int m_nPid;
string m_strProcName; //当前进程名
string m_strPubPath;
vector<string> m_strDbNameVec; //所有数据库名
map<string, int>
m_bPartlyRepMap; //所有数据库是否部分复制1部分
bool m_bRepFlag;
map<string, PartlyRepInfo> m_PartlyRepInfoMap; //部分复制信息MAP
vector<string> m_strPartlyRepPolicyVec; //部分复制策略字符串
private:
int GetPubPath();
int GetAllDbName();
int GetAllPartlyRepInfo();
int GetReplicatePath (vector<string> &strPathVec, vector<string> &strDbNameVec,
string strDbName, string strUserName);
string IntToStr (int nVal);
//int WriteRepSql(const vector<string> &strSql,const vector<string> &strPathVec, const vector<string> &strDbNameVec);
int WriteRepSql (const vector<string> &strSql, const vector<string> &strPathVec,
const vector<string> &strDbNameVec, string strUserName);
int WriteRepSqlWithNoTimeSeq (const vector<string> &strSql,
const vector<string> &strPathVec, const vector<string> &strDbNameVec);
int WriteRepSqlWithNoTimeSeqSample (const vector<string> &strSql,
const vector<string> &strPathVec, const vector<string> &strDbNameVec);
int MoveInFileToOutFile (const string strInFileName);
int GetOutFileName (const string strInFileName , string &strOutFileName);
int WriteRepLOB (const string &strSql , const vector<string> &strPathVec,
const vector<string> &strDbNameVec);
int WriteRepLOB (const string &strSql , const string &strSqlSelect ,
const vector<TLOBContent> &lobVec, bool is_insert,
const vector<string> &strPathVec, const vector<string> &strDbNameVec);
int GetLOBReplicatePath ( vector<string> &strPathVec,
vector<string> &strDbNameVec, string strDbName, string strUserName);
int MoveLOBInFileToOutFile (const string strInFileName);
int GetLOBOutFileName (const string strInFileName , string &strOutFileName);
int GetBindReplicatePath ( vector<string> &strPathVec,
vector<string> &strDbNameVec, string strDbName, string strUserName);
int MoveBindInFileToOutFile (const string strInFileName);
int GetBindOutFileName (const string strInFileName , string &strOutFileName);
int WriteRepBind (const TRepBindStru &bind_stru,
const vector<string> &strPathVec, const vector<string> &strDbNameVec);
int GetPartlyRepSql (const vector<string> &strSqlVec,
vector<string> &strPartlyRepSqlVec, const string &strDbName, const int &flag);
int GetRepSqlByList (const vector<string> &strSqlVec,
vector<string> &strPartlyRepSqlVec, vector<string> &tablename_list_vec,
const int &rep_policy);
void gUsleep (const int usec);
};
#endif