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