Aaron McCurry created BLUR-237:
----------------------------------

             Summary: Investigate the use of Thrift Unions to remove some 
complexity in the Blur API
                 Key: BLUR-237
                 URL: https://issues.apache.org/jira/browse/BLUR-237
             Project: Apache Blur
          Issue Type: Improvement
          Components: Blur
    Affects Versions: 0.3.0
            Reporter: Aaron McCurry
             Fix For: 0.3.0


I believe that we can use this feature to provide a simpler API for Blur data 
structures.

One place where this would be of benefit would be in changing the Column object 
from having a string name and a string value.  To having a string name and a 
new Union type as the value.  This ColumnValue union could contain one of each 
of the primary thrift types (string, i32, i64, binary, double, etc).  This 
would allow for the original data type to be delivered in the correct form 
(instead of just a string).  It could also make the assignment of new types in 
none strict tables to be easier.  For example if the Union had a integer 
provided and the column had not been seen before, then the type could be 
assigned as an integer instead of using whatever the default type on the table 
(TableDescriptor).

Another place is in the results of a query and fetch call.  Currently you can 
get either a Record or a Row back so I think a union type of the result would 
work better here.

Union references:

https://issues.apache.org/jira/browse/THRIFT-409

http://web.archive.org/web/20090829121249/http://blog.rapleaf.com/dev/?p=48

http://web.archive.org/web/20100725051856/http://blog.rapleaf.com/dev/2009/08/18/thrift-unions-part-ii-or-how-i-reduced-memory-usage-by-95/

http://nathanmarz.com/blog/thrift-graphs-strong-flexible-schemas-on-hadoop.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to