23 lines
1007 B
C
Executable File
23 lines
1007 B
C
Executable File
#pragma once
|
||
|
||
typedef void *pAttrDescs;
|
||
typedef void **pTuples;
|
||
|
||
extern "C" const char *encryptOneSql(const char* sql, char** err_msg, const char* user_name, const char* db_name);
|
||
|
||
extern "C" void decryptResult(int numberAttr, int numTuples, pAttrDescs pattDescs, pTuples ptuples);
|
||
|
||
struct EncryptInfo {
|
||
const char *sql; // 正在处理的sql
|
||
bool isFloatCol; //当前处理的col是否是float
|
||
bool isInt8Col; // 当前处理的col是否是int8/bigint
|
||
// bool isFloatorIntCol; //当前处理的col是否是float或int
|
||
void *father;
|
||
bool isPeerColFloat; // where col_float = 10; 这种where条件中,10的AES需要放缩, isPeerColFloat为true表示在一个二元操作符中,操作数为float column.
|
||
bool isPeerColInt8; // where col_int8 = 9999999999; 这种where条件中,大整数字面量可能被解析成Float节点,需要按int8处理.
|
||
bool isALeftOps;
|
||
bool isARightOps;
|
||
bool isFromAExpr = false;
|
||
bool isFromUpdate = false;
|
||
};
|