Comments (4)
Why are we marking this as mismatch in the first place? Floating point numbers are compared with delta within epsilon, no?
from velox.
from velox.
Why are we marking this as mismatch in the first place? Floating point numbers are compared with delta within epsilon, no?
@Yuhta Unfortunately, our result comparison methods in QueryAssertions.cpp didn't compare this result with epsilon because the rest non-floating-point columns doesn't form unique keys. This is a limitation of our QueryAssertions, so it would be good to extend it.
from velox.
Here is where the condition for epsilon comparison was not satisfied in QueryAssertions:
velox/velox/exec/tests/utils/QueryAssertions.cpp
Lines 1140 to 1143 in 781967c
QueryAssertions requires every row to have distinct combination of values at non-floating-point columns so that it can find the corresponding rows between the expected and actual result vectors. This condition was not satisfied in the fuzzer iteration of chi_squared_cdf(), so epsilon comparison was not used. One solution would be to add an additional "row_number" bigint column to the input vector and project this column to the result as well. Then this column would be able to distinctly identify the corresponding rows between the expected and actual result vectors and hence enable the epsilon comparison.
from velox.
Related Issues (20)
- Make LZO compression support optional
- Result mismatch of url_extract_fragment between Presto and Velox HOT 1
- Result mismatch of url_extract_path between Presto and Velox HOT 1
- json_array_length: Velox throws while Presto returns NULL HOT 2
- poisson_cdf supports more signatures in Velox than in Presto HOT 4
- array_min: Presto throws while Velox doesn't
- Support fast path for ascii input of Spark mask function
- CI Code Format checking failed HOT 7
- array_intersect: Presto and Velox return arrays with different orders of elements
- concat: Presto throws while Velox doesn't HOT 2
- find_first: Presto function has default null behavior while Velox function doesn't
- [CMake] build velox as static library HOT 1
- IN: Presto and Velox return different results
- map_subset: Presto throws while Velox doesn't
- url_extract_host: Presto and Velox return different results
- url_extract_protocol: Presto and Velox return different results
- array_position: Presto throws while Velox doesn't
- Add lt, lte, gt, gte, neq, between for UUID type HOT 2
- Add UUID to Varbinary casting
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from velox.