risingwavelabs / risingwave

SQL stream processing, analytics, and management. We decouple storage and compute to offer instant failover, dynamic scaling, speedy bootstrapping, and efficient joins.
https://www.risingwave.com/slack
Apache License 2.0
6.59k stars 539 forks source link

Support SELECT * EXCEPT in sqlsmith #10516

Open wugouzi opened 1 year ago

wugouzi commented 1 year ago

We added SELECT * EXCEPT (columns) in #10438, but the corresponding sqlsmith test are not added.

The reason is that currently, sqlsmith does not track the generated columns from certain functions over tables (e.g., window_start from tumble). But select * or select * except (...) will introduce those columns unintentionally which would lead to incorrect sqls. Example:

CREATE MATERIALIZED VIEW m1 AS SELECT * FROM tumble(bid, bid.date_time, INTERVAL '44') AS tumble_0;

SELECT * FROM tumble(m1, m1.date_time, INTERVAL '7') AS tumble_1:
kwannoel commented 1 year ago

Seems like a good target for sqlsmith tutorial, as a replacement for https://github.com/risingwavelabs/risingwave/pull/10327, since eowc maybe a little complicated for sqlsmith tutorial.

fuyufjh commented 11 months ago

@wugouzi Can you please do it? The feature developer is supposed to complete the sqlsmith tests.

wugouzi commented 11 months ago

I may not be free until finishing the refactoring of source parser. I could do it when I have time. Also may need review for this #10723.

Need to wait for #11013

kwannoel commented 10 months ago

I may not be free until finishing the refactoring of source parser. I could do it when I have time. Also may need review for this #10723.

Need to wait for #11013

Sorry for delay. #11013 has been completed. https://github.com/risingwavelabs/risingwave/issues/11013, I think this issue may proceed.

github-actions[bot] commented 5 days ago

This issue has been open for 60 days with no activity.

If you think it is still relevant today, and needs to be done in the near future, you can comment to update the status, or just manually remove the no-issue-activity label.

You can also confidently close this issue as not planned to keep our backlog clean. Don't worry if you think the issue is still valuable to continue in the future. It's searchable and can be reopened when it's time. 😄