Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change recursive rel physical type #1674

Merged
merged 1 commit into from
Jun 14, 2023

Conversation

andyfengHKU
Copy link
Contributor

This PR changes the physical type of recursive rel from LIST[ID] to STRUCT(LIST[ID], LIST[ID]) which lays the foundation for our final goal which is to model recursive rel as STRUCT(LIST[STRUCT], LIST[STRUCT])

This PR also fixes some of the bugs related to reset overflow buffer and factorized table scan

@codecov
Copy link

codecov bot commented Jun 13, 2023

Codecov Report

Patch coverage: 98.82% and project coverage change: -0.01 ⚠️

Comparison is base (708ac89) 91.44% compared to head (b18b786) 91.43%.

❗ Current head b18b786 differs from pull request most recent head aa21181. Consider uploading reports for the commit aa21181 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1674      +/-   ##
==========================================
- Coverage   91.44%   91.43%   -0.01%     
==========================================
  Files         730      730              
  Lines       26455    26475      +20     
==========================================
+ Hits        24191    24208      +17     
- Misses       2264     2267       +3     
Impacted Files Coverage Δ
src/common/types/types.cpp 91.26% <ø> (ø)
src/common/types/value.cpp 92.15% <ø> (ø)
src/common/vector/auxiliary_buffer.cpp 90.47% <ø> (ø)
src/include/catalog/catalog_structs.h 100.00% <ø> (ø)
...ocessor/operator/recursive_extend/recursive_join.h 100.00% <ø> (ø)
...essor/operator/recursive_extend/recursive_join.cpp 88.72% <96.55%> (+0.72%) ⬆️
src/binder/bind/bind_graph_pattern.cpp 94.50% <100.00%> (+0.15%) ⬆️
...inder/bind_expression/bind_function_expression.cpp 96.21% <100.00%> (-0.03%) ⬇️
src/catalog/catalog.cpp 89.72% <100.00%> (ø)
src/common/vector/value_vector.cpp 100.00% <100.00%> (ø)
... and 6 more

... and 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@@ -144,15 +144,18 @@ void FactorizedTable::lookup(std::vector<ValueVector*>& vectors,
uint64_t numTuplesToRead) const {
assert(vectors.size() == colIdxesToScan.size());
for (auto i = 0u; i < colIdxesToScan.size(); i++) {
auto vector = vectors[i];
// TODO(Xiyang/Ziyi): we should set up a rule about when to reset. Should it be in operator?
vector->resetAuxiliaryBuffer();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe the source operator of each pipeline should be responsible for resetting the vector state?
We may need an api in vector which resets the current state of the vector.

@andyfengHKU andyfengHKU force-pushed the change-recursive-rel-physical-type branch from b18b786 to aa21181 Compare June 14, 2023 00:15
@andyfengHKU andyfengHKU merged commit 904c585 into master Jun 14, 2023
6 checks passed
@andyfengHKU andyfengHKU deleted the change-recursive-rel-physical-type branch June 14, 2023 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants