Hi,

I have now committed the patch to allow using user defined functions that
return are result set.

Aggregate functions with GEOMETRY data type are not yet supported, because
I hope we find a better solution.

Regards,
Thomas



On Fri, Dec 20, 2013 at 1:22 PM, Thomas Mueller <
[email protected]> wrote:

> Hi,
>
> I think I understand the problem now, looking at your test
> cases testTableFunctionGeometry and testAggregateWithGeometry.
>
> I'm not quite sure yet what is the best way to solve the problem.
>
> About SimpleResultSet: Your solution seems to be straightforward, I will
> try to apply it.
>
> About Aggregates: Maybe there is a simpler solution. I'm not convinced yet
> that using type names is the best solution. The H2 database internally uses
> value types (Value.GEOMETRY for example). Maybe instead of using type
> names, value types could be used? There would still be a change needed for
> the AggregateFunction API, possibly a new interface. But the
> class ColumnType would not be needed.
>
> Regards,
> Thomas
>
>
>
> On Wed, Dec 18, 2013 at 6:42 PM, Nicolas Fortin (OrbisGIS) <
> [email protected]> wrote:
>
>> Hi,
>>
>>
>> As far as I understand, you changed the Aggregate API quite a bit, in
>>> order to add the SQL type _name_
>>>
>> I change the API in order to stay backward-compatible on dependency
>> upgrade.
>>
>>
>> But why not for regular results sets of H2? Why not for other user
>>> defined functions, triggers, and so on?
>>>
>> The sql type name is needed only when the objects are not yet available.
>> JDBC API says type name should return a fully qualified type 
>> namehttp://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html#getColumnTypeName%28int%29.
>> In h2 user defined aggregate expose function signature only through integer
>> sql types; then when we create a table from the result of an aggregate; h2
>> first create the table using only aggregate signature, not values (as they
>> are not available yet).
>>
>>
>> But why not for regular results sets of H2
>>>
>> I don't understand what is a regular result set of h2.
>>
>>
>> -Nicolas Fortin
>> IRSTV FR CNRS 2488
>>
>> Le mercredi 18 décembre 2013 17:25:37 UTC+1, Thomas Mueller a écrit :
>>>
>>> Hi,
>>>
>>> Yes, sorry for the delay. I have a few questions. As far as I
>>> understand, you changed the Aggregate API quite a bit, in order to add the
>>> SQL type _name_ (in addition to the SQL type value such as Types.OTHER).
>>> The same for the SimpleResultSet.
>>>
>>> The JDBC API uses the SQL type, but doesn't use the SQL type name in
>>> many places (PreparedStatement.setObject and so on doesn't use it; but
>>> ResultSetMetaData.getColumnTypeName does). I wonder why is it needed
>>> specially for user defined aggregate functions? I can understand it is
>>> useful for SimpleResultSet. But why not for regular results sets of H2? Why
>>> not for other user defined functions, triggers, and so on?
>>>
>>> Regards,
>>> Thomas
>>>
>>>
>>>
>>>
>>>
>>> On Wed, Dec 18, 2013 at 1:34 PM, Nicolas Fortin (OrbisGIS) <
>>> [email protected]> wrote:
>>>
>>>>  Hi,
>>>>
>>>> It is ok for geometry optimisation. What about TypeName ?
>>>>
>>>> This patch is really important for table function and aggregation
>>>> function that involve OTHER or JAVA_OBJECT type.
>>>>
>>>>
>>>> https://github.com/nicolas-f/H2-Mirror/tree/h2-with-custom-type
>>>>
>>>>
>>>> https://github.com/nicolas-f/H2-Mirror/compare/h2-with-custom-type.diff<https://github.com/nicolas-f/H2-Mirror/tree/h2-with-custom-type>
>>>> https://github.com/nicolas-f/H2-Mirror/compare/h2-with-
>>>> custom-type.patch<https://github.com/nicolas-f/H2-Mirror/tree/h2-with-custom-type>
>>>>
>>>> Thank you
>>>>
>>>> -Nicolas Fortin
>>>> IRSTV FR CNRS 2488
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "H2 Database" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>>
>>>> Visit this group at http://groups.google.com/group/h2-database.
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>
>>>  --
>> You received this message because you are subscribed to the Google Groups
>> "H2 Database" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/h2-database.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to