📄 sdbms_globaldefines.h
字号:
#ifndef _SDBMS_GLOBALDEFINES_H
#define _SDBMS_GLOBALDEFINES_H
#define MAX_RANGE 50 //非分层范围最大个数
#define MAX_RECORD_SIZE 4096 //记录最长为4K字节
#define PASSWORD_LENGTH 10 //用户口令长度
#define NULL_CHAR 0xFF //表示空字符,用在记录数据中,表示该属性为空值
#define ROLE_DBA 0 //全局DBA角色
#define ROLE_DBSA 1 //全局DBSA角色
#define ROLE_SYSTEM 2 //全局SYSTEM角色
#define SYSTEM_USER_DBA "dba" //定义DBA用户名
#define SYSTEM_USER_DBSA "dbsa" //定义DBSA用户名
#define SYSTEM_ROLE_DBA "DBA" //定义DBA角色名
#define SYSTEM_ROLE_DBSA "DBSA" //定义DBSA角色名
#define SYSTEM_ROLE_SYSTEM "SYSTEM" //定义SYSTEM角色名
#define SYSTEM_ROLE_LOGIN "LOGIN" //定义login角色名
#define SYSTEM_ROLE_GUEST "GUEST" //定义gust角色名
#define SYSTEM_ROLE_OWNER "OWNER" //定义owner角色名
#define SYSTEM_TABLE_TEMP "temptable" //定义临时表的表名
#define SYSTEM_TABLE_AUDIT "audittable"//定义审计记录表名
//不能使用预定义角色名
#define CantUseRoleName(strRoleName, strDefinedRoleName) \
if (strRoleName.CompareNoCase(strDefinedRoleName) == 0) \
{ \
sprintf(g_strMsg, "不能使用预定义角色名%s", strDefinedRoleName); \
g_msg.ThrowErrorMsg(g_strMsg); \
return FALSE; \
}
//不能使用预定义表名
#define CantUseTableName(strTableName, strDefinedTableName) \
if (strTableName.CompareNoCase(strDefinedTableName) == 0) \
{ \
sprintf(g_strMsg, "不能使用预定义表名%s", strDefinedTableName); \
g_msg.ThrowErrorMsg(g_strMsg); \
return FALSE; \
}
//数据类型
typedef enum //DataType //因为DT_XX与CJLibrary已有定义冲突,所以改用DATATYPE_XX
{
DATATYPE_INT, //整型,int
DATATYPE_UINT, //无符号整型,UINT
DATATYPE_BOOL, //布尔型,BOOL
DATATYPE_STRING, //字符串型,规定长度最大为256个字符
DATATYPE_SECLEVEL, //安全级型,CSecurityLevel
DATATYPE_COLREF //列名
}DataType;
//角色类型
typedef enum //RoleType
{
RT_GLOBAL, //全局型
RT_DATABASE, //数据库级
RT_TABLE //表级
}RoleType;
//系统权限
typedef enum// SystemRight
{
SR_CONNECT_DATABASE,
SR_CREATE_DATABASE,
SR_CREATE_TABLE,
SR_CREATE_VIEW,
SR_CREATE_INDEX,
SR_DROP_DATABASE,
SR_DROP_TABLE,
SR_DROP_VIEW,
SR_DROP_INDEX,
SR_GRANT_SYSTEM, //系统命令授权
SR_REVOKE_SYSTEM,
SR_CREATE_USER,
SR_CREATE_ROLE,
SR_DROP_USER,
SR_DROP_ROLE,
SR_SET_PARENT_ROLE,
SR_SET_CHILD_ROLE,
SR_SET_TOP_ROLE,
SR_ADD_ROLE,
SR_DEL_ROLE,
SR_CHANGE_ROLE,
SR_GRANT_OBJECT, //表级授权
SR_REVOKE_OBJECT,
SR_SET_USER_SECURITY_LEVEL, //设置用户最大安全级
SR_SET_TABLE_SECURITY_LEVEL, //设置表安全级
SR_SET_USER_ALLOW_SECURITY_LEVEL,
SR_SET_USER_CURRENT_SECURITY_LEVEL,
SR_AUDIT_USER, //审计1
SR_NOAUDIT_USER,
SR_AUDIT_OBJECT, //审计2
SR_NOAUDIT_OBJECT,
SR_AUDIT_SYSTEM, //审计3
SR_NOAUDIT_SYSTEM,
//辅助权限
SR_ADDDEL_SYSTEM_ROLE, //把用户加入/删除到SYSTEM角色中
SR_ADDDEL_DBSA_ROLE, //把用户加入/删除到DBSA角色中
SR_ADDDEL_DBA_ROLE //把用户加入/删除到DBA角色中
}SystemRight;
//对象权限
typedef enum //ObjectRight
{
OR_SELECT,
OR_INSERT,
OR_UPDATE,
OR_DELETE
}ObjectRight;
//结点类型
typedef enum //NodeType
{
NODE_LEAF,
NODE_INTERIOR
}NodeType;
//运算操作符
typedef enum //Calcuate
{
OP_ADD, //'+'
OP_SUB, //'-'
OP_MUL, //'*'
OP_DIV, //'/'
OP_UMINUS //单目'-'
}OPCalc;
//连接符
typedef enum //Conj
{
OP_OR, //'OR'
OP_AND, //'AND'
OP_NOT //'NOT'
}OPConj;
//比较符
typedef enum //Comp
{
OP_EQU, //'='
OP_UNEQU, //'!='
OP_LESS, //'<'
OP_LESSEQU, //'<='
OP_MORE, //'>'
OP_MOREEQU //'>='
}OPComp;
//关系代数运算
typedef enum
{
OP_PROJECTION, //投影
OP_SELECTION, //选择
OP_JOIN //联接
}OPAlgebra;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -