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

Degrees of support for new types (JSON, JSONB, UUID) #1944

Closed
ian-r-rose opened this issue Sep 3, 2019 · 1 comment · Fixed by #1962
Closed

Degrees of support for new types (JSON, JSONB, UUID) #1944

ian-r-rose opened this issue Sep 3, 2019 · 1 comment · Fixed by #1962
Labels
feature Features or general enhancements

Comments

@ian-r-rose
Copy link
Contributor

There is a large zoo of data types out there, some of which are not supported by ibis. I have been doing some work recently with table schemas that use Postgres UUID, JSON, and JSONB types. Currently, if you try to connect to such tables using ibis it errors out, as these types are not supported (c.f. #1690, #782, #992). This is pretty unfortunate, since columns of these types are fairly common, and it means being unable to use tables including them, even if you don't intend to use those columns.

Long-term, it would be good to support these types, but doing so is a significant undertaking (especially with JSON-based types, as there are a lot of actual operations to think through and design abstractions over).

In the short term, would it be acceptable to include a bit of a band-aid for these types? Basically, I would like to be able to interact with tables including them, and mostly ignore them. Ibis could interpret them as string types, and consenting adults would be able to move forwards knowing that the type-safety would be somewhat wrong for those columns.

@jreback
Copy link
Contributor

jreback commented Sep 3, 2019

this would be good to supoort as a good compatibility measure

@toryhaavik toryhaavik added the feature Features or general enhancements label Sep 6, 2019
toryhaavik pushed a commit that referenced this issue Oct 2, 2019
Fixes #1944. This does *not* add support for JSON, JSONB, and UUID
PostgreSQL types. Instead, it marks them as having `dt.Any` type,
allowing the tables to be loaded, and those columns mostly ignored.
There is also some black formatting on some lines I didn't touch...
Author: Ian Rose <ian.r.rose@gmail.com>
Author: Ivan Ogasawara <ivan.ogasawara@gmail.com>

Closes #1962 from ian-r-rose/json-uuid-any and squashes the following commits:

6a878b0 [Ian Rose] Merge pull request #1 from Quansight/json-uuid-any
298efc2 [Ivan Ogasawara] Added JSON JSONB and UUID data types.
79bab94 [Ian Rose] Move test to postgres client test suite.
3748ef9 [Ian Rose] Add some light type testing for json, jsonb, uuid.
b514069 [Ian Rose] Allow postgres client to read tables with UUID, JSON, JSONB types.
costrouc pushed a commit to costrouc/ibis that referenced this issue Oct 10, 2019
Fixes ibis-project#1944. This does *not* add support for JSON, JSONB, and UUID
PostgreSQL types. Instead, it marks them as having `dt.Any` type,
allowing the tables to be loaded, and those columns mostly ignored.
There is also some black formatting on some lines I didn't touch...
Author: Ian Rose <ian.r.rose@gmail.com>
Author: Ivan Ogasawara <ivan.ogasawara@gmail.com>

Closes ibis-project#1962 from ian-r-rose/json-uuid-any and squashes the following commits:

6a878b0 [Ian Rose] Merge pull request #1 from Quansight/json-uuid-any
298efc2 [Ivan Ogasawara] Added JSON JSONB and UUID data types.
79bab94 [Ian Rose] Move test to postgres client test suite.
3748ef9 [Ian Rose] Add some light type testing for json, jsonb, uuid.
b514069 [Ian Rose] Allow postgres client to read tables with UUID, JSON, JSONB types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Features or general enhancements
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants