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

Implement native schema inference for PostgreSQL #151

Merged
merged 9 commits into from
Oct 24, 2024

Conversation

phillipleblanc
Copy link
Collaborator

@phillipleblanc phillipleblanc commented Oct 23, 2024

Closes #127

This PR implements native schema inference for PostgreSQL using a combination of postgres native system tables and information_schema. It handles all primitive types, array types, complex types and enums. It also handles quite a few types that the row conversion itself doesn't support yet - but those can be added over time (i.e. TSVECTOR, INET, CIDR, MACADDR, UUID, JSON, JSONB, XML).

This allows the schema to be retrieved even for tables without any rows.

@phillipleblanc phillipleblanc added the enhancement New feature or request label Oct 23, 2024
@phillipleblanc phillipleblanc self-assigned this Oct 23, 2024
@phillipleblanc
Copy link
Collaborator Author

I plan to cherry-pick this commit to main once I verify it on this branch

@phillipleblanc
Copy link
Collaborator Author

Will need to investigate these upstream errors before merging this PR: https://github.com/spiceai/spiceai/actions/runs/11484314326/job/31961830960

@phillipleblanc phillipleblanc merged commit 5d11262 into spiceai Oct 24, 2024
3 checks passed
@phillipleblanc phillipleblanc deleted the phillip/241012-schema-inference-pg branch October 24, 2024 11:28
phillipleblanc added a commit that referenced this pull request Oct 24, 2024
* wip

* test cleanup

* Implement native schema inference for PostgreSQL

* handle bpchar

* fix uuid

* Fix test

* align

* fix snapshot
phillipleblanc added a commit that referenced this pull request Oct 25, 2024
* wip

* test cleanup

* Implement native schema inference for PostgreSQL

* handle bpchar

* fix uuid

* Fix test

* align

* fix snapshot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants