Hi Faisal, You'd need to copy/paste both the definition of DOUBLE and of DOUBLE_ARRAY, as we calculate the element type of an array based on subtracting an offset from the type ID. I believe it would work then.
Please file JIRAs for any/all of these enhancements, as these are all valid/good requirements (i.e. to make it easier to add custom types). I think the implementation of a STRUCT would solve this in the best way. Thanks, James On Thu, May 29, 2014 at 3:09 PM, faisal moeen <[email protected]> wrote: > Dear James, > > As per your advice, I have flattened some of my data types including > Point, Line, MultiLine and iPoint. I have also implemented some custom > functions like distance, intersection, val etc. > > For now I am not planning to implement new custom data types but I would > like Phoenix to do type checking etc. For example, currently "distance" > function takes two arguments of type "Line" which I have flattened to > DOUBLE_ARRAY. The first element of this array describes if it is a line or > some other datatype. If I copy & paste the existing DOUBLE_ARRAY type and > rename it to LINE type, will this give me a new datatype which behaves > exactly like DOUBLE_ARRAY. > > So the idea is that I create a new type LINE which is exactly the same as > DOUBLE_ARRAY but this allows type checking of arguments and users can see > the type of table column as LINE to know that it is not a normal > DOUBLE_ARRAY. > > Is it easily possible? > > Regards > Faisal Moeen > > > On Thu, May 29, 2014 at 3:43 PM, faisal moeen <[email protected]> wrote: > >> Thanks Andrew. The algebra I am working on primarily handles moving >> objects or in other words trajectories over time. >> >> I did not read the standard but as far as I know, the way time is >> handled, is different. For example, version is a first class concept in SQL >> 2011 but not in Guting's Alegebra. Guting's algebra gives us a more clear >> model of changing objects with respect to time. This gives us more logical >> understanding of how to ask different questions and how to write queries.I >> won't be wrong is saying that guring's Algebra is ideal for modeling >> objects that move both in space and time. >> >> Regards >> >> >> On Wed, May 28, 2014 at 8:53 PM, Andrew Purtell <[email protected]> >> wrote: >> >>> That is a fascinating set of slides. >>> >>> How does the envisioned spatio-temporal algebra and syntax (or UDF) >>> changes relate to SQL 2011 temporal concepts and syntax support? Or do >>> they? Please see https://issues.apache.org/jira/browse/PHOENIX-967 . >>> >>> >>> On Tue, May 27, 2014 at 9:41 AM, faisal moeen <[email protected]> >>> wrote: >>> >>>> Hi James, >>>> >>>> Some of my datatypes can use the existing sql types but most of them >>>> require to have custom implementations. I plan to start with point & line. >>>> Please find attached the explanation of some of the types. I prefer to have >>>> its support at the server level because I also plan to implement a >>>> spatio-temporal join later. In that case, the local join would be through a >>>> co-processor so I will need the support of the types and operations at the >>>> region servers. >>>> >>>> Regards >>>> >>>> >>>> On Tue, May 27, 2014 at 6:30 PM, James Taylor <[email protected]> >>>> wrote: >>>> >>>>> Hi Faisal, >>>>> That sounds very interesting. What will be the structure of your >>>>> custom data type? Would you be able to get away with using the existing >>>>> fixed binary type and interpret the value at the application level? Or >>>>> perhaps an array of one of our primitive types? In general, each PDataType >>>>> maps to a SQL type ( >>>>> http://docs.oracle.com/javase/6/docs/api/java/sql/Types.html). >>>>> Thanks, >>>>> James >>>>> >>>>> >>>>> On Tue, May 27, 2014 at 9:04 AM, faisal moeen <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I am trying to implement custom spatio-temporal datatypes for >>>>>> Phoenix. How can I do that? >>>>>> >>>>>> Until now I have added my custom datatype "MYDT" to PDataType and >>>>>> specified it to have a sqltype=123. >>>>>> I chose this number because I am not sure what to add here. I can >>>>>> create a table with this but when I insert something, its type is shown >>>>>> as >>>>>> NULL. >>>>>> >>>>>> I am using HBase 0.94.18 with Phoenix 3.0. >>>>>> >>>>>> Any help is appreciated. >>>>>> >>>>>> Regards >>>>>> >>>>>> -- >>>>>> >>>>>> Regards >>>>>> Faisal Moeen >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> >>>> Regards >>>> Faisal Moeen >>>> >>> >>> >>> >>> -- >>> Best regards, >>> >>> - Andy >>> >>> Problems worthy of attack prove their worth by hitting back. - Piet Hein >>> (via Tom White) >>> >> >> >> >> -- >> >> Regards >> Faisal Moeen >> > > > > -- > > Regards > Faisal Moeen >
