Hello! I hope that this field will be abandoned in AI 3.0.
Regards, -- Ilya Kasnacheev вт, 5 мар. 2019 г. в 19:30, Scott Cote <sc...@etcc.com>: > Ilya, > > > > The “long.class” was a bug-feature (creature feature) that I was trying to > trap in a unit test. > > > > My unit test was asserting that the returned indexTypes would have … > “java.lang.String” as an element in the array, but would fail the assertion > because it would find a “long.class” instead. > > > > Alas – my assumption was incorrect because “indexTypes” was in fact … null > (hence my email about this). > > > > While I waited for your response, I pivoted and instead made my assertions > on the QueryEntities (and of course modified to NOT have long.class). > > > > It was not my intention to send you the “long.class”, so my apologies for > that part of the confusion – I was in a hurry to write up the snippet and > got lazy with copy/paste instead. > > > > I understood the motivation for the chaining, but I thought it was an > oversight to have that field “indexedTypes” existing, but not populated – > ever?. Looks like its no longer used. Should I fork the project and > kill the field? (desirable or undesirable change?) – will give back the > edit (of course). Or instead, I could also make the getIndexedTypes scan > the query entities and return an array of the values that are currently > stored in the collection of query entities (maybe a better fix as it > maintains backward compatibility and accurately reports the expected > data). > > > > Cheers, > > > > SCott > > > > *From:* Ilya Kasnacheev <ilya.kasnach...@gmail.com> > *Sent:* Tuesday, March 5, 2019 8:34 AM > *To:* user@ignite.apache.org > *Subject:* Re: proper usage of sql configuration in ignite question > > > > Hello! > > > > Recent versions of Ignite will indeed fill QueryEntity and never use > indexedTypes field. QueryEntity and Indexed Types are mutually exclusive > anyway. > > > > Return type is CacheConfiguration for invocations chaining, so that you > can use: > > > > CacheConfiguration cacheConfiguration = *new *CacheConfiguration() > .setName(cacheName) > .setTypes(keyClazz, valueClazz) > .setIndexedTypes(*long*.*class*, valueClazz) > .setSqlSchema(*"PUBLIC"*); > > > > Why do you have keyClazz != indexed types key class? > > > > Regards, > > -- > > Ilya Kasnacheev > > > > > > пн, 4 мар. 2019 г. в 19:27, Scott Cote <sc...@etcc.com>: > > Hello Igniters: > > > > I am programmatically setting the index type data in ignite. > > > > I was establishing the index types by doing something like: > > > > CacheConfiguration cacheConfiguration = *new *CacheConfiguration(); > cacheConfiguration.setName(cacheName); > cacheConfiguration.setTypes(keyClazz, valueClazz); > cacheConfiguration.setIndexedTypes(*long*.*class*, valueClazz); > cacheConfiguration.setSqlSchema(*"PUBLIC"*); > > > > > > But I discovered that my index type data was not setting …. > > Under the hood, I saw that the QueryEntitiy for the > “long.class,valueClazz” was getting created, but the field inside > CacheConfig called “indexedTypes” was NOT getting set for my instance > called cacheConfiguration. > > > > Then I noticed that the “setIndexTypes” method is not a bean method … not > a void return, but returns “this” . (this is what I get for not reading > the Javadoc closely, but instead relying in the method name to imply the > usage …. ). Nonetheless, the returned “this” doesn’t have the value set > either (the query entity does have it set). When does the field > “indexedTypes” get set? Only assignment that I saw was from the copy > constructor ….. > > > > Is getIndexTypes useful still? > > > > SCott > > > > > >