phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <jamestay...@apache.org>
Subject Re: How to implement custom datatypes
Date Thu, 29 May 2014 22:29:55 GMT
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 <fmorakzai@gmail.com> 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 <fmorakzai@gmail.com> 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 <apurtell@apache.org>
>> 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 <fmorakzai@gmail.com>
>>> 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 <jamestaylor@apache.org>
>>>> 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 <fmorakzai@gmail.com>
>>>>> 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
>

Mime
View raw message