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

sqlsmith: Generate struct and list exprs #7132

Open
2 of 6 tasks
Tracked by #7934
kwannoel opened this issue Dec 29, 2022 · 1 comment
Open
2 of 6 tasks
Tracked by #7934

sqlsmith: Generate struct and list exprs #7132

kwannoel opened this issue Dec 29, 2022 · 1 comment
Assignees

Comments

@kwannoel
Copy link
Contributor

kwannoel commented Dec 29, 2022

  • Generate struct and list primitives.
  • Generate struct and list columns.
  • Generate struct field expressions (e.g. Client.name).
  • Generate regexp_match
  • Other operations (BINOP, etc...) see:
    fn infer_type_for_special(
  • Enable struct and list columns
@github-actions github-actions bot added this to the release-0.1.16 milestone Dec 29, 2022
@kwannoel kwannoel changed the title Generate regexp_match. sqlsmith: Generate regexp_match Dec 29, 2022
@kwannoel kwannoel self-assigned this Dec 29, 2022
@kwannoel kwannoel changed the title sqlsmith: Generate regexp_match sqlsmith: Generate struct and list exprs Dec 30, 2022
mergify bot pushed a commit that referenced this issue Jan 3, 2023
- Does not seem to catch any errors yet, perhaps when:
- multi statement is supported: #6849
- #7132 is implemented
- we will start to see more errors caught.

Approved-By: lmatz
mergify bot pushed a commit that referenced this issue Jan 4, 2023
Add more input types to sqlsmith (`struct`, `list`).

### Motivation for refactoring `DataTypeName`

- Previously we use `DataTypeName` internally to indicate which expressions to generate.
- This is insufficient, since it elides `struct` and `list` internal types.
- Now we use `DataType` directly.
- In this PR we support generating these new variants as scalar values, and columns.
- Other PR may support generating functions, see: #7132.
- This will likely work by generating some variants of structs and lists we can choose from,
- During setup: insert function signatures which can work with these structs and lists.
- During setup: Define relations with these variants as columns.

### Misc

- Disable struct scalar due to #7189
- Disable timestamptz due to #5826

Approved-By: lmatz

Co-Authored-By: Tao Wu <wutao@singularity-data.com>
Co-Authored-By: Noel Kwan <noelkwan1998@gmail.com>
Co-Authored-By: Noel Kwan <47273164+kwannoel@users.noreply.github.com>
@kwannoel
Copy link
Contributor Author

kwannoel commented Feb 1, 2023

Continue after #6934 fixed.
Not blocked by it, since we can write the functionality to generate first, and disable it. But it won't be useful since it is disabled.

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

No branches or pull requests

2 participants