Alexey Kuznetsov reassigned IGNITE-3938:

    Assignee: Pavel Konstantinov  (was: Alexey Kuznetsov)

Pavel, please test.

Merged to master.

You should test on 3 databases: H2, MySQL, MsSQL.

create some table with escaped column, for example, MySQL:
create table test(
 id integer not null primary key,
 `group` varchar(10)

Import this table via Web Console and generate project.
After project generated - add to XML config for POJO store factory
 <property "name"="sqlEscapeAll" value="true"/>

And test:
# cache.loadCache(null) // load (check cache populated with data, use scan or 
# cache.put(key, someVal1) // insert (check record appear in db)
# cache.put(key, someVal2) // merge (check record updated in db)
# cache.remove(key) // delete (check record deleted from db)

Repeat tests with sqlEscapeAll = false.

All should work without exceptions.

> JDBC POJO store should support escaping for database schema, table and field 
> names
> ----------------------------------------------------------------------------------
>                 Key: IGNITE-3938
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3938
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.6
>            Reporter: Alexey Kuznetsov
>            Assignee: Pavel Konstantinov
>             Fix For: 1.8
> Sometimes database names could be very *strange* and this could be handled 
> only via escaping. We need to support this.
> Adding {code}String JdbcDialect.escape(name){code} method looks like a good 
> solution.

This message was sent by Atlassian JIRA

Reply via email to