On 11/8/2024 11:32 AM, Evgenij Ryazanov wrote:
1. I think it is a very bad idea to implement it on top of oldestVersionToKeep from MVStore. MVStore by itself creates a
lot of garbage and this setting will effectively prevent garbage collection. In case of H2, all these versions also can
be lost because H2 can rewrite the whole storage during shutdown. MVStore is actually a third storage engine for H2 and
who knows, maybe there will be a new one without this setting or MVStore itself will be changed incompatibly. I think
you need to find some other way.
I think the strategy there is sufficient - we don't need to support all
features with all backends.
We can just throw an exception in the future if this feature is used with a
backend which does not support it.
The integration with oldestVersionToKeep is not ideal, it could certainly be better, but we should "not let the perfect
be the enemy of the good".
2. Your implementation seems to be not compatible with anything, including Oracle. You shouldn't use mixed syntax
partially taken from Oracle, partially your own, because it will prevent introduction of Oracle-specific features in
Oracle compatibility mode due to syntax conflict.
Any such feature is going to be heavily dependant on various details of how the underlying storage engine works, so I
don't think this is a deal-breaker. I cannot see us ever needing such a thing in the Oracle compatibility mode. And in
the unlikely event that we do, our Parser class is flexible enough to copy with having two different syntax paths for
different modes.
You also should use the same code style as the whole project. Please, don't use var and don't invent new interfaces for
unit tests.
I tried to add some reconnections to your tests and they started to fail. You
need to test all these cases too.
Agreed, these areas will need improvement.
Regards, Noel Grandin
--
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 h2-database+unsubscr...@googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/h2-database/515f1404-d3cf-4980-8a47-f407abd89d41%40gmail.com.