Max, hello.

 

I have some propositions to enhance CachedMetaDataDialect:

As I see here StringKey is used as a compound key for cached data –

But I think that this strategy has an obvious drawback:

 

Let try to imagine the situation with code completion for tables:

Firstly the user enter letter ‘a’ and press Ctrl-Space for completion – so the compound key for this will be

StringKey {null, null, “a.*”}

 

In a second time the user enter string ‘ab’ and press Ctrl-Space for completion – so the compound key for this case

StringKey {null, null, “ab.*”}

And this situation required one separate select from db and we do not get benefits from previous cashing…

 

So I propose to use other structures and algorithms for cashing here.

 

Regards,

 

Vitali