Commit 90c255d8 authored by yiwenshao's avatar yiwenshao

able to call ashe sumfunction

parent d595569b
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
[onions for num] [onions for num]
oDET: DET oDET: DET
oOPE: OPE oOPE: OPE
oAGG: HOM #oAGG: HOM
oASHE: ASHE oASHE: ASHE
[end] [end]
......
...@@ -196,7 +196,8 @@ OLK EncSet::extract_singleton() const ...@@ -196,7 +196,8 @@ OLK EncSet::extract_singleton() const
static bool static bool
needsSalt(SECLEVEL l) needsSalt(SECLEVEL l)
{ {
return l == SECLEVEL::RND||l==SECLEVEL::ASHE; // return l == SECLEVEL::RND||l==SECLEVEL::ASHE;
return l == SECLEVEL::RND;
} }
bool bool
......
...@@ -147,6 +147,7 @@ const EncSet ADD_EncSet = { ...@@ -147,6 +147,7 @@ const EncSet ADD_EncSet = {
{ {
{oPLAIN, LevelFieldPair(SECLEVEL::PLAINVAL, NULL)}, {oPLAIN, LevelFieldPair(SECLEVEL::PLAINVAL, NULL)},
{oAGG, LevelFieldPair(SECLEVEL::HOM, NULL)}, {oAGG, LevelFieldPair(SECLEVEL::HOM, NULL)},
{oASHE,LevelFieldPair(SECLEVEL::ASHE,NULL )}
} }
}; };
......
...@@ -200,10 +200,17 @@ class CItemSum : public CItemSubtypeST<Item_sum_sum, SFT> { ...@@ -200,10 +200,17 @@ class CItemSum : public CItemSubtypeST<Item_sum_sum, SFT> {
TEST_UnexpectedSecurityLevel(oAGG, SECLEVEL::HOM, TEST_UnexpectedSecurityLevel(oAGG, SECLEVEL::HOM,
el.level()); el.level());
return static_cast<const HOM &>(el).sumUDA(new_child); return static_cast<const HOM &>(el).sumUDA(new_child);
}else if(oASHE == constr.o) {
OnionMeta *const om = constr.key->getOnionMeta(oASHE);
assert(om);
EncLayer const &el = a.getBackEncLayer(*om);
TEST_UnexpectedSecurityLevel(oASHE, SECLEVEL::ASHE,
el.level());
return static_cast<const ASHE &>(el).sumUDA(new_child);
} else { } else {
TEST_UnexpectedSecurityLevel(constr.o, SECLEVEL::PLAINVAL, TEST_UnexpectedSecurityLevel(constr.o, SECLEVEL::PLAINVAL,
constr.l); constr.l);
// FIXME: we cannot blindly return Item_sum_sum because we may // FIXME: we cannot blindly return Item_sum_sum because we may
// have an AVG(...) // have an AVG(...)
// > account for ``Item_sum_avg'' // > account for ``Item_sum_avg''
...@@ -238,7 +245,7 @@ class CItemAvg : public CItemSubtypeST<Item_sum_sum, SFT> { ...@@ -238,7 +245,7 @@ class CItemAvg : public CItemSubtypeST<Item_sum_sum, SFT> {
if (i.has_with_distinct()) { if (i.has_with_distinct()) {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
//agg or ashe
const EncSet &my_es = ADD_EncSet; const EncSet &my_es = ADD_EncSet;
const EncSet &solution = my_es.intersect(childr_rp[0]->es_out); const EncSet &solution = my_es.intersect(childr_rp[0]->es_out);
const std::string &why = "summation"; const std::string &why = "summation";
......
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