I found the solution - no changes to public API, just rework how we treat this flag internally.
On Tue, May 23, 2017 at 10:15 PM, Vladimir Ozerov <[email protected]> wrote: > Igniters, > > We have a property "CacheConfiguration.sqlEscapeAll". When enabled, all > database objects belonging to the cache will be case-sensitive and allow > special characters. Two problems here: > > 1) It doesn't allow me to decouple schemas from cache easily since I it > force me to refer to cache context everywhere, exactly what I am trying to > avoid. > > 2) It doesn't work with DDL at all. E.g. how should I process "MyIndex" if > cache has "sqlEscapeAll=false"? > CREATE INDEX "MyIndex" ON TABLE MY_TABLE; > > It appears, that we should do the following: > 1) Remove/deprecate this property; > 2) Add "escaped" property to QueryEntity and QueryIndex, so that decision > can be made on per-object basis, rather than on per-cache. > 3) In DDL we should decide whether object name is case-sensitive based on > quotes around it's name: > > CREATE INDEX MyIndex; // Insensitive > CREATE INDEX "MyIndex"; // Sensitive > > E.g. this is precisely how Oracle and probably other databases work. > > Thoughts? >
