Search code examples
javaignite

Disable SQL escape in Apache Ignite


I've tried

CacheConfiguration<?, ?> cacheCfg = new CacheConfiguration<>(cacheTemplateName).setSqlSchema("PUBLIC"); //create table can only be executed on public schema
cacheCfg.setSqlEscapeAll(false); //otherwise ignite tries to quote after we've quoted and there are cases we have to quote before ignite gets it
cacheCfg.setCacheMode(CacheMode.PARTITIONED);
ignite.addCacheConfiguration(cacheCfg); //required to register cacheTemplateName as a template, see WITH section of https://apacheignite-sql.readme.io/docs/create-table

Unfortunately nothing I try seems to work. I've debugged through and isSqlEscapeAll() always returned true. FYI in the CREATE TABLE statement I've set TEMPLATE=MyTPLName.

Is it possible to disable this behaviour? My queries are already appropriately quoted.


Solution

  • This flag doesn't work for dynamic caches since it could cause some unclearness with table names, which were described in this thread on Ignite dev list: http://apache-ignite-developers.2346864.n4.nabble.com/Remove-deprecate-CacheConfiguration-sqlEscapeAll-property-td17966.html

    By the way, what is the problem you want to solve using this flag?