Heya,

I'd like to start a conversation around the idea of user-defined types. I
think this is a very powerful point of extension for a database and will
help foster the growing community around Phoenix. It will also facilitate
enhanced interoperability between Phoenix and other HBase applications.

I've started work on a patch to bust the PDataType enum. Rather than a
fixed set of types, PDataType becomes an interface with the various
implementations. Probably the next step would be to extend the grammar to
support new type names and constants. After that, adding a syntax for
registering types at runtime.

Right now this is an experiment. I'm curious if there's interest for this
kind of thing in Phoenix. I draw inspiration from the extensibility of
PostgreSQL, with a notable extension being PostGIS. As an example, I'd love
to see this feature working such that we can define a Phoenix schema over
an existing OpenTSDB table. It'll take some work to get there, but I think
it's worth while to help folks migrate from existing HBase schema over to
Phoenix.

Thoughts?

Thanks,
Nick

Reply via email to