Mike-

What do you see as the driver for having the field be a column type? Have 
you looked into H2 function support?

-Matt Pavlovich

On Friday, August 7, 2020 at 9:24:16 AM UTC-5, Mike Goodwin wrote:
>
> Thanks for the complete reply and all of the hardwork in general. I do 
> think from the outside it has been a little unclear about the direction and 
> motivation of the project, but obviously that clears things up.
>
> The type I wanted to implement was going to be a rational numeric (i.e. 
> a/b). 
> Do you think that patching H2 is the best way to go? Is it a datatype h2 
> would want to support internally?
>
> On Fri, Aug 7, 2020 at 4:44 AM Evgenij Ryazanov <[email protected] 
> <javascript:>> wrote:
>
>> Hello.
>>
>> It's a long story. Apache Ignite used released versions of H2 internally. 
>> Because it needed more than H2 can provide, some new functionality were 
>> contributed to H2, usually without taking own needs of H2 into account. 
>> Some of this functionality wasn't used by H2 itself and other projects at 
>> all, it only created some unwanted complexity, some hypothetically was 
>> usable for other projects, some was actually used in them, such as 
>> TableEngine. All this stuff was basically unmaintained, when some problem 
>> in H2 required massive changes including these third-party features nobody 
>> wanted or be able to help with them. At some point a fork of H2 was made 
>> for Apache Ignite due to their own reasons. After that we decided to remove 
>> support for Apache Ignite from mainline H2 due to all its complexity and 
>> because it actually blocks other long-standing issues. Some features were 
>> preserved, however.
>>
>> CustomDataTypeHandler never was a part of stable API. It was placed into 
>> org.h2.api package, but it has warnings in its documentation since the 
>> beginning. Existence of this poorly designed class blocked bugfixes for 
>> issues with very basic SQL features of H2. There were only two options: 
>> drop it completely or redesign it from the scratch without any backward 
>> compatibility, but nobody wanted to write a new implementation of it in 
>> 2019 and nobody cared about it till then, it's not a functionality that 
>> everyone uses and H2 doesn't have commercial customers any more and doesn't 
>> provide any guarantees to anyone. Actually there is no place for it in the 
>> new type system, it can be used only as a storage container. But we already 
>> have storage containers for arbitrary data. We have standard VARBINARY, 
>> BINARY, and BLOB data types for them. You can define an own domain to give 
>> your custom data type some better name clearly describing its content. H2 
>> also has JAVA_OBJECT data type for serializable objects. There are no good 
>> reasons to duplicate functionality of domains here.
>>
>> The SQL Standard also has user-defined data types, but H2 doesn't support 
>> them yet and they can't be easily introduced, it's a large piece of work 
>> and we need to implement SQL/PSM first. Maybe both these features will be 
>> introduced as real supported and standard-compliant features in the future, 
>> but, again, they need a lot of work.
>>
>> H2 1.4.200 was the last release in 1.4 series of releases. The upcoming 
>> H2 2.0 has many incompatibilities with 1.4.200 and not every application 
>> can use the new version or snapshot builds from current sources without 
>> additional changes. We have some plans to write a migration guide for the 
>> upcoming release, but currently it isn't available anywhere.
>>
>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/h2-database/a35157a7-fca4-4522-bfb0-c48d72a37785o%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/h2-database/a35157a7-fca4-4522-bfb0-c48d72a37785o%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/960e2bef-d512-4abd-866f-1afc1f98debao%40googlegroups.com.

Reply via email to