Commit 7b95d90
Separate IN PR (#124)
* finishing the in expression. adding more tests and null support. need confirmation on null behavior and also I wonder why integer field is sufficient for string
* adding additional test
* adding additional test
* saving concat implementation and it's passing basic functionality tests
* adding type aware comparison and better error message for IN operator
* adding null checking for the concat operator and adding one additional test
* cleaning up IN&Concat PR
* deleting concat and preping the in branch for in pr
* fixing null bahavior
now it's only null when there's no match and there's null input
* Build failed
Co-authored-by: Ubuntu <chenyu@accvm.docqqnvnul2ujd1zaothcdqfqb.bx.internal.cloudapp.net>
Co-authored-by: Wenting Zheng <wzheng@eecs.berkeley.edu>
Co-authored-by: Wenting Zheng <wzheng13@gmail.com>
Separate Concat PR (#125)
Implementation of the CONCAT expression.
Co-authored-by: Ubuntu <chenyu@accvm.docqqnvnul2ujd1zaothcdqfqb.bx.internal.cloudapp.net>
Co-authored-by: Wenting Zheng <wzheng@eecs.berkeley.edu>
Removed calls to toSet in TPC-H tests (#140)
* removed calls to toSet
* added calls to toSet back where queries are unordered
Documentation update (#148)
Cluster Remote Attestation Fix (#146)
The existing code only had RA working when run locally. This PR adds a sleep for 5 seconds to make sure that all executors are spun up successfully before attestation begins.
Closes #147
upgrade to 3.0.1 (#144)
Update two TPC-H queries (#149)
Tests for TPC-H 12 and 19 pass.
TPC-H 20 Fix (#142)
* string to stringtype error
* tpch 20 passes
* cleanup
* implemented changes
* decimal.tofloat
Co-authored-by: Wenting Zheng <wzheng@eecs.berkeley.edu>
Join update (#145)
Migrate from Travis CI to Github Actions (#156)
matching in strategies.scala
set up class thing
cleanup
added test cases for non-equi left anti join
rename to serializeEquiJoinExpression
added isEncrypted condition
set up keys
JoinExpr now has condition
rename
serialization does not throw compile error for BNLJ
split up
added condition in ExpressionEvaluation.h
zipPartitions
cpp put in place
typo
added func to header
two loops in place
update tests
condition
fixed scala loop
interchange rows
added tags
ensure cached
== match working
comparison decoupling in ExpressionEvalulation
save
compiles and condition works
is printing
fix swap outer/inner
o_i_match
show() has the same result
tests pass
test cleanup
added test cases for different condition
BuildLeft works
optional keys in scala
started C++
passes the operator tests
comments, cleanup
attemping to do it the ~right~ way
comments to distinguish between primary/secondary, operator tests pass
cleanup comments, about to begin implementation for distinct agg ops
is_distinct
added test case
serializing with isDistinct
is_distinct in ExpressionEvaluation.h
removed unused code from join implementation
remove RowWriter/Reader in condition evaluation (join)
easier test
serialization done
correct checking in Scala
set is set up
spaghetti but it finally works
function for clearing values
condition_eval isntead of condition
goto
comment
remove explain from test, need to fix distinct aggregation for >1 partitions
started impl of multiple partitions fix
added rangepartitionexec that runs
partitioning cleanup
serialization properly
comments, generalization for > 1 distinct function
comments
about to refactor into logical.Aggregation
the new case has distinct in result expressions
need to match on distinct
removed new case (doesn't make difference?)
works
remove traces of distinct
more cleanup
Upgrade to OE 0.12 (#153)
Update README.md
Support for scalar subquery (#157)
This PR implements the scalar subquery expression, which is triggered whenever a subquery returns a scalar value. There were two main problems that needed to be solved.
First, support for matching the scalar subquery expression is necessary. Spark implements this by wrapping a SparkPlan within the expression and calls executeCollect. Then it constructs a literal with that value. However, this is problematic for us because that value should not be decrypted by the driver and serialized into an expression, since it's an intermediate value.
Therefore, the second issue to be addressed here is supporting an encrypted literal. This is implemented in this PR by serializing an encrypted ciphertext into a base64 encoded string, and wrapping a Decrypt expression on top of it. This expression is then evaluated in the enclave and returns a literal. Note that, in order to test our implementation, we also implement a Decrypt expression in Scala. However, this should never be evaluated on the driver side and serialized into a plaintext literal. This is because Decrypt is designated as a Nondeterministic expression, and therefore will always evaluate on the workers.
Add TPC-H Benchmarks (#139)
* logic decoupling in TPCH.scala for easier benchmarking
* added TPCHBenchmark.scala
* Benchmark.scala rewrite
* done adding all support TPC-H query benchmarks
* changed commandline arguments that benchmark takes
* TPCHBenchmark takes in parameters
* fixed issue with spark conf
* size error handling, --help flag
* add Utils.force, break cluster mode
* comment out logistic regression benchmark
* ensureCached right before temp view created/replaced
* upgrade to 3.0.1
* upgrade to 3.0.1
* 10 scale factor
* persistData
* almost done refactor
* more cleanup
* compiles
* 9 passes
* cleanup
* collect instead of force, sf_none
* remove sf_none
* defaultParallelism
* no removing trailing/leading whitespace
* add sf_med
* hdfs works in local case
* cleanup, added new CLI argument
* added newly supported tpch queries
* function for running all supported tests
address comments
added one test case
non-null case working
rename equi join
split Join.cpp into two files
outer and default joins split up
not handling nulls at all
first test case works
force_null to all appends
test, matching in scala
non-nulls working
it works for anti and outer
cleanup
test cases added
one row is not being added in the sort merge implementation
tpc-h 13 passes
comments
outer/inner swap, breaks a bunch of things
Update App.cpp
fixed swap issues
for loop instead of flatten
concatEncryptedBlocks
tpch 13 test passes
one more swap
stream/broadcast
concatEncryptedBlocks, remove import iostream
comment for for loop
added comments explaining constraints with broadcast side
comments1 parent 0a20d71 commit 7b95d90
File tree
43 files changed
+1772
-423
lines changed- .github
- scripts
- workflows
- src
- enclave
- App
- Enclave
- ServiceProvider
- flatbuffers
- main/scala/edu/berkeley/cs/rise/opaque
- benchmark
- execution
- expressions
- test/scala/edu/berkeley/cs/rise/opaque
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
43 files changed
+1772
-423
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| |||
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
62 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
63 | 66 | | |
64 | 67 | | |
65 | 68 | | |
| |||
136 | 139 | | |
137 | 140 | | |
138 | 141 | | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
139 | 177 | | |
140 | 178 | | |
141 | 179 | | |
| |||
168 | 206 | | |
169 | 207 | | |
170 | 208 | | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
519 | 519 | | |
520 | 520 | | |
521 | 521 | | |
522 | | - | |
| 522 | + | |
523 | 523 | | |
524 | 524 | | |
525 | 525 | | |
| |||
535 | 535 | | |
536 | 536 | | |
537 | 537 | | |
538 | | - | |
| 538 | + | |
539 | 539 | | |
540 | | - | |
541 | | - | |
| 540 | + | |
| 541 | + | |
542 | 542 | | |
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
546 | 546 | | |
547 | | - | |
| 547 | + | |
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| |||
556 | 556 | | |
557 | 557 | | |
558 | 558 | | |
559 | | - | |
560 | | - | |
561 | | - | |
| 559 | + | |
| 560 | + | |
562 | 561 | | |
563 | 562 | | |
564 | 563 | | |
565 | 564 | | |
566 | 565 | | |
567 | 566 | | |
568 | 567 | | |
569 | | - | |
570 | | - | |
| 568 | + | |
| 569 | + | |
571 | 570 | | |
572 | | - | |
573 | | - | |
| 571 | + | |
| 572 | + | |
574 | 573 | | |
575 | 574 | | |
576 | 575 | | |
577 | 576 | | |
578 | | - | |
579 | | - | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
580 | 581 | | |
581 | | - | |
582 | | - | |
| 582 | + | |
| 583 | + | |
583 | 584 | | |
584 | 585 | | |
585 | | - | |
586 | | - | |
| 586 | + | |
| 587 | + | |
587 | 588 | | |
588 | 589 | | |
589 | | - | |
| 590 | + | |
590 | 591 | | |
591 | 592 | | |
592 | 593 | | |
593 | 594 | | |
594 | 595 | | |
595 | | - | |
596 | | - | |
| 596 | + | |
| 597 | + | |
597 | 598 | | |
598 | 599 | | |
599 | 600 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
| |||
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
25 | | - | |
| 28 | + | |
26 | 29 | | |
27 | 30 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
8 | 7 | | |
9 | 8 | | |
10 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
11 | 15 | | |
12 | 16 | | |
13 | 17 | | |
| |||
18 | 22 | | |
19 | 23 | | |
20 | 24 | | |
21 | | - | |
| 25 | + | |
22 | 26 | | |
23 | 27 | | |
24 | 28 | | |
| |||
31 | 35 | | |
32 | 36 | | |
33 | 37 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
41 | | - | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
| |||
0 commit comments