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.
