Thank you Julian for your answer, very good vision.

If you need help with testing later, I will be happy to help.

On 2025/03/17 18:39:11 Julian Hyde wrote:
> I agree that this is a problem. Assuming that a database dialect improves 
> over time, if someone is connecting to version 5 of a database, they would 
> like Calcite to generate the best SQL for version 5, but not use features 
> that were added in version 6 or later. To minimize the amount of code, we 
> would probably like a single adapter for all versions of that database, 
> possibly even sharing code with other databases that have similar dialects.
> 
> The solution starts with the test suite. If someone wants the adapter to 
> generate different SQL for versions 4, 5, and 6, then they should write tests 
> to ensure that. To make those tests pass, they will need to change the 
> dialect implementation so that it runs in different modes for different 
> versions.
> 
> I don’t think we need a high-level policy for how modes, or versions, are 
> represented in various dialects. If the maintainers follow the tenets of 
> agile (write tests, refactor to improve reuse and reduce tech debt) then we 
> will have an acceptable solution. Following those tenets will sometimes cause 
> people to merge dialects of similar databases (e.g. MySQL and MariaDB).
> 
> Julian
> 
> 
> > On Mar 17, 2025, at 7:52 AM, Cancai Cai <[email protected]> wrote:
> > 
> > Hello, everyone in the Calcite community.
> > 
> > Calcite currently does not emphasize the version or even the adapter 
> > adaptation for the adaptation of various database dialects, but as more and 
> > more dialects are adapted, this may become a hidden danger. For example, a 
> > database modifies a certain syntax in a certain version, but Calcite has 
> > already adapted the previous syntax, then do we still need to be compatible 
> > with the modified syntax? There are many similar examples, such as 
> > adaptation functions, etc.
> > 
> > I think we can find a way to determine a standard, describe it in the 
> > document and tell users, such as determining it according to the latest 
> > version, or do you have better suggestions?
> > 
> > Best wishes,
> > Cancai Cai
> 
> 

Reply via email to