Commit ccf76a9b authored by yiwenshao's avatar yiwenshao

add a set of new onionlayouts

parent 39511b6f
CREATE TABLE child (id decimal)
create table table_UZWOBTPSXI (XBLMNJDKAGoPLAIN DECIMAL(11)) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id tinyint)
create table table_MKKYPGKZYU (UFTALGKMKNoEq BIGINT unsigned, IWYVUPDHOBoOrder BIGINT unsigned, DNWCZFPUTMoADD VARBINARY(256), cdb_saltZVXKJKTMVV BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id mediumint)
create table table_OAXOVUDBBT (JVSCHIGAKWoEq BIGINT unsigned, CAXBOUVTVYoOrder VARBINARY(32), OYEWZPHHMLoADD VARBINARY(256), cdb_saltCGIBIJGXDC BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id smallint)
create table table_FUACVRXTKU (SOBAUESJNKoEq BIGINT unsigned, JSEMVBDUUPoOrder BIGINT unsigned, OOQJOQEDZHoADD VARBINARY(256), cdb_saltRBSYZTPHDD BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id int)
create table table_XPXDBUFEOB (ARYYDTSTHXoEq BIGINT unsigned, YGMVMNQRTGoOrder VARBINARY(32), SPLKDZPJUYoADD VARBINARY(256), cdb_saltVFPMODESIF BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id bigint)
create table table_LNXYIJNACJ (UEMLSIFZWSoEq BIGINT unsigned, QJFNJPWZSYoOrder BIGINT unsigned, IBUKXDPTZFoADD VARBINARY(256), cdb_saltJWAUGFWWQQ BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (name varchar(100))
create table table_FWNMLYDJXX (NFFAEPHMCQoEq VARBINARY(144), RJMGXAFAJCoOrder VARBINARY(32), cdb_saltJFYERYJGTK BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (name varchar(1000))
create table table_UXZBAFQJTS (BASLZTMXDWoEq VARBINARY(1040), RXWQYYYOHRoOrder VARBINARY(32), cdb_saltZLBORYOWAZ BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (name varchar(10000))
create table table_KVMFINAVNE (MDEROBNCOJoEq VARBINARY(10048), QYFEFNSGKFoOrder VARBINARY(32), cdb_saltTEDPXCNVSX BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id decimal)
create table table_QQROWEUONI (IHYESFGSFPoPLAIN DECIMAL(11)) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id tinyint)
create table table_PGOMAQCGEB (RASZWEGVKZoEq BIGINT unsigned, IBHYOIOQQVoOrder BIGINT unsigned, SCIFQDIHFIoADD VARBINARY(256), cdb_saltMNLMTDRCXW BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id mediumint)
create table table_HMRPLFXZYP (PVQYVRFYXJoEq BIGINT unsigned, OFVIUGPTINoOrder VARBINARY(32), IEFBLCKVKCoADD VARBINARY(256), cdb_saltWSRGXJKHQP BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id smallint)
create table table_PJYLTURJPZ (QCUQFVMBCHoEq BIGINT unsigned, VTTTEMQYVFoOrder BIGINT unsigned, ZSFFWHYEUMoADD VARBINARY(256), cdb_saltWXGCARGMOS BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id int)
create table table_WTOROSEEQZ (IXJZSLWICWoEq BIGINT unsigned, FBRTSFNYMEoOrder VARBINARY(32), YYWTRTLRPLoADD VARBINARY(256), cdb_saltMQTRXRYWYU BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (id bigint)
create table table_VRQMKKUYJI (AGNKDOMOOZoEq BIGINT unsigned, DJQVYDFSDQoOrder BIGINT unsigned, AHZIJEJGTBoADD VARBINARY(256), cdb_saltEJIACZVPQL BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (name varchar(100))
create table table_SESKBQPHKS (HMSPTZCOSEoEq VARBINARY(144), ZMKTWMMOVWoOrder VARBINARY(32), cdb_saltZMBZWMDFTY BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (name varchar(1000))
create table table_XUCRLVSNLK (ORJZBFIADVoEq VARBINARY(1040), PCRRUCOOSZoOrder VARBINARY(32), cdb_saltTKYEDXSRLN BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
CREATE TABLE child (name varchar(10000))
create table table_AYDKZGPIGU (DKHPKCGIOQoEq VARBINARY(10048), SQPVAOBRWIoOrder VARBINARY(32), cdb_saltDWXVNTZEHT BIGINT(8) unsigned) AUTO_INCREMENT=0 ENGINE=InnoDB
...@@ -61,13 +61,13 @@ main() { ...@@ -61,13 +61,13 @@ main() {
SharedProxyState *shared_ps = SharedProxyState *shared_ps =
new SharedProxyState(ci, embeddedDir , master_key, determineSecurityRating()); new SharedProxyState(ci, embeddedDir , master_key, determineSecurityRating());
assert(shared_ps!=NULL); assert(shared_ps!=NULL);
std::string query1 = "CREATE TABLE child (id decimal)"; std::string query1 = "CREATE TABLE child (id decimal)";
std::string query2 = "CREATE TABLE child (id tinyint)"; std::string query2 = "CREATE TABLE child (id tinyint)";
std::string query3 = "CREATE TABLE child (id mediumint)"; std::string query3 = "CREATE TABLE child (id mediumint)";
std::string query4 = "CREATE TABLE child (id smallint)"; std::string query4 = "CREATE TABLE child (id smallint)";
std::string query5 = "CREATE TABLE child (id int)"; std::string query5 = "CREATE TABLE child (id int)";
std::string query6 = "CREATE TABLE child (id bigint)"; std::string query6 = "CREATE TABLE child (id bigint)";
std::string query7 = "CREATE TABLE child (name varchar(100))"; std::string query7 = "CREATE TABLE child (name varchar(100))";
std::string query8 = "CREATE TABLE child (name varchar(1000))"; std::string query8 = "CREATE TABLE child (name varchar(1000))";
std::string query9 = "CREATE TABLE child (name varchar(10000))"; std::string query9 = "CREATE TABLE child (name varchar(10000))";
...@@ -78,5 +78,6 @@ main() { ...@@ -78,5 +78,6 @@ main() {
testCreateTableHandler(item); testCreateTableHandler(item);
std::cout<<std::endl; std::cout<<std::endl;
} }
return 0; return 0;
} }
...@@ -51,7 +51,7 @@ main() { ...@@ -51,7 +51,7 @@ main() {
ConnectionInfo ci("localhost", "root", "letmein",3306); ConnectionInfo ci("localhost", "root", "letmein",3306);
SharedProxyState *shared_ps = new SharedProxyState(ci, embeddedDir , master_key, determineSecurityRating()); SharedProxyState *shared_ps = new SharedProxyState(ci, embeddedDir , master_key, determineSecurityRating());
assert(shared_ps!=NULL); assert(shared_ps!=NULL);
std::string query1 = "insert into student values(1,\"zhangfei\")"; std::string query1 = "insert into student values(1,\"zhangfei ZHAO DADKLAS DFASLFKDJS\")";
std::vector<std::string> querys{query1}; std::vector<std::string> querys{query1};
for(auto item:querys){ for(auto item:querys){
std::cout<<item<<std::endl; std::cout<<item<<std::endl;
......
database:tdb
table:student
num_of_fields:4
field_types:N N S N
field_lengths:20 8 64 8
field_names:PFMDHKUBAToEq cdb_saltXZMEYJFFMA GEKBROFQEOoEq cdb_saltTNTIQAULBW
choosen_onions:0 0
...@@ -14,6 +14,7 @@ typedef enum onion { ...@@ -14,6 +14,7 @@ typedef enum onion {
oSWP, oSWP,
oPLAIN, oPLAIN,
oBESTEFFORT, oBESTEFFORT,
oASHE,
oINVALID, oINVALID,
} onion; } onion;
...@@ -42,6 +43,12 @@ static onionlayout PLAIN_ONION_LAYOUT = { ...@@ -42,6 +43,12 @@ static onionlayout PLAIN_ONION_LAYOUT = {
{oPLAIN, std::vector<SECLEVEL>({SECLEVEL::PLAINVAL})} {oPLAIN, std::vector<SECLEVEL>({SECLEVEL::PLAINVAL})}
}; };
/*******************************************************************************************
***************************** Onion layout for numeric data ********************************
********************************************************************************************
*/
static onionlayout NUM_ONION_LAYOUT = { static onionlayout NUM_ONION_LAYOUT = {
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET, {oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})}, SECLEVEL::RND})},
...@@ -49,6 +56,37 @@ static onionlayout NUM_ONION_LAYOUT = { ...@@ -49,6 +56,37 @@ static onionlayout NUM_ONION_LAYOUT = {
{oAGG, std::vector<SECLEVEL>({SECLEVEL::HOM})} {oAGG, std::vector<SECLEVEL>({SECLEVEL::HOM})}
}; };
static onionlayout NUM_ONION_LAYOUT_NOFOREIGN = {
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})},
{oOPE, std::vector<SECLEVEL>({SECLEVEL::OPE, SECLEVEL::RND})},
{oAGG, std::vector<SECLEVEL>({SECLEVEL::HOM})}
};
static onionlayout NUM_ONION_LAYOUT_NORND = {
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET})},
{oOPE, std::vector<SECLEVEL>({SECLEVEL::OPE})},
{oAGG, std::vector<SECLEVEL>({SECLEVEL::HOM})}
};
static onionlayout NUM_ONION_LAYOUT_ONLYASHE = {
{oASHE, std::vector<SECLEVEL>({SECLEVEL::ASHE})}
};
static onionlayout NUM_ONION_LAYOUT_REPLACE_HOM{
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET, SECLEVEL::RND})},
{oOPE, std::vector<SECLEVEL>({SECLEVEL::OPE, SECLEVEL::RND})},
{oASHE, std::vector<SECLEVEL>({SECLEVEL::ASHE})}
};
static onionlayout NUM_ONION_LAYOUT_MANYDET = {
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})},
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})}
};
static onionlayout BEST_EFFORT_NUM_ONION_LAYOUT = { static onionlayout BEST_EFFORT_NUM_ONION_LAYOUT = {
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET, {oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})}, SECLEVEL::RND})},
...@@ -64,25 +102,35 @@ static onionlayout NUM_ONION_LAYOUT_TEST{ ...@@ -64,25 +102,35 @@ static onionlayout NUM_ONION_LAYOUT_TEST{
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET, {oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})}, SECLEVEL::RND})},
{oOPE, std::vector<SECLEVEL>({SECLEVEL::OPEFOREIGN,SECLEVEL::OPE, SECLEVEL::RND})}, {oOPE, std::vector<SECLEVEL>({SECLEVEL::OPEFOREIGN,SECLEVEL::OPE, SECLEVEL::RND})},
{oAGG, std::vector<SECLEVEL>({SECLEVEL::ASHE})} {oASHE, std::vector<SECLEVEL>({SECLEVEL::ASHE})}
}; };
/********************************************************************************************
**************************** Onion layout for str data **************************************
*********************************************************************************************
*/
static onionlayout STR_ONION_LAYOUT = { static onionlayout STR_ONION_LAYOUT = {
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET, {oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})}, SECLEVEL::RND})},
{oOPE, std::vector<SECLEVEL>({SECLEVEL::OPEFOREIGN,SECLEVEL::OPE, SECLEVEL::RND})}, {oOPE, std::vector<SECLEVEL>({SECLEVEL::OPEFOREIGN, SECLEVEL::OPE, SECLEVEL::RND})},
// {oSWP, std::vector<SECLEVEL>({SECLEVEL::SEARCH})} //{oSWP, std::vector<SECLEVEL>({SECLEVEL::SEARCH})}
// {oSWP, std::vector<SECLEVEL>({SECLEVEL::PLAINVAL, SECLEVEL::DET, // {oSWP, std::vector<SECLEVEL>({SECLEVEL::PLAINVAL, SECLEVEL::DET,
// SECLEVEL::RND})} // SECLEVEL::RND})}
}; };
static onionlayout STR_ONION_LAYOUT_TEST{ static onionlayout STR_ONION_LAYOUT_WITHSEARCH{
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET, {oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
SECLEVEL::RND})}, SECLEVEL::RND})},
{oOPE, std::vector<SECLEVEL>({SECLEVEL::OPEFOREIGN,SECLEVEL::OPE, SECLEVEL::RND})}, {oOPE, std::vector<SECLEVEL>({SECLEVEL::OPE, SECLEVEL::RND})},
{oSWP, std::vector<SECLEVEL>({SECLEVEL::SEARCH})} {oSWP, std::vector<SECLEVEL>({SECLEVEL::SEARCH})}
}; };
static onionlayout STR_ONION_LAYOUT_NORND{
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET})},
{oOPE, std::vector<SECLEVEL>({SECLEVEL::OPE})},
{oSWP, std::vector<SECLEVEL>({SECLEVEL::SEARCH})}
};
static onionlayout BEST_EFFORT_STR_ONION_LAYOUT = { static onionlayout BEST_EFFORT_STR_ONION_LAYOUT = {
{oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET, {oDET, std::vector<SECLEVEL>({SECLEVEL::DETJOIN, SECLEVEL::DET,
...@@ -97,7 +145,8 @@ static onionlayout BEST_EFFORT_STR_ONION_LAYOUT = { ...@@ -97,7 +145,8 @@ static onionlayout BEST_EFFORT_STR_ONION_LAYOUT = {
SECLEVEL::RND})} SECLEVEL::RND})}
}; };
//这个会用到么?
typedef std::map<onion, SECLEVEL> OnionLevelMap; //commented since it is not used
//typedef std::map<onion, SECLEVEL> OnionLevelMap;
enum class SECURITY_RATING {PLAIN, BEST_EFFORT, SENSITIVE}; enum class SECURITY_RATING {PLAIN, BEST_EFFORT, SENSITIVE};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment