Hi Naveen, When you’re using Ignite SQL queries they aren’t processed by the Oracle’s SQL engine. 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 https://apacheignite-sql.readme.io/docs/dml. Thanks, Stan From: Naveen Sent: 7 марта 2018 г. 9:11 To: [email protected] Subject: Does Merge statement (DML) work with JDBC client driver Hi 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. Thanks Naveen -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
