Hi Naveen,

When you’re using Ignite SQL queries they aren’t processed by the Oracle’s SQL 
Instead, Ignite will process the SQL itself (via H2 database engine) and get 
the data from its cache.
For that to work you need to first preload the data to the cache via a 
CacheStore.loadCache() – and to implement
that you’ll need to query the data from Oracle using Oracle SQL.
Other words, when you use Oracle as the persistent storage and access Ignite’s 
data via SQL
you have 2 SQL dialects: 
- Ignite’s (basically H2’s) dialect used by the application to get data from 
Ignite’s cache
- Oracle’s dialect used by the CacheStore implementation to load the data from 
Oracle DB

If you use Ignite native persistence, you will not have a CacheStore and no 
second SQL dialect.
The queries that the application use to access Ignite’s cache stay the same 
since Ignite’s SQL doesn’t
rely on which persistence mechanism is enabled.

For the reference on the SQL syntax supported by Ignite please see 


From: Naveen
Sent: 7 марта 2018 г. 9:11
To: user@ignite.apache.org
Subject: Does Merge statement (DML) work with JDBC client driver

We are using Ignite 2.3

We would like to have 2 Ignite clusters running - one with Ignite native
persistence and second with Oracle 
 database as persistent layer.
So keeping this in mind, we would like to the build our code base which
should work for both the clusters.
I have read that ignite is not fully SQL compliant when we used 3rd party
Persistence, may be some of the SQLs are not supported with RDBMS. 
Can we get any document which gives us this information about the SQLs which
are not supported with Oracle

Do we have any checklist sort off to validate what works for both and
accordingly we can use.


Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to