[ 
https://issues.apache.org/jira/browse/IGNITE-4169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15853884#comment-15853884
 ] 

Vladimir Ozerov edited comment on IGNITE-4169 at 2/6/17 11:55 AM:
------------------------------------------------------------------

[~al.psc], my comments:
1) {{JdbcConnection.ctor}} - we need sensible defaults for 
{{PROP_STREAMING_PER_NODE_BUF_SIZE}}, {{PROP_STREAMING_PER_NODE_PAR_OPS}}. They 
cannot be 0. Please re-use values from {{IgniteDataStreamer}}.
2) {{JdbcConnection.prepareStatement}} - if message cannot be processed in 
streaming manner, we agreed to throw an exception. Streaming mode is only for 
streaming.
3) {{JdbcStatement.addBatch(String}]} - let's add more info to error message, 
suggesting user to use {{PreparedStatement.addBatch()}}. Do the same for 
override in {{JdbcPreparedStatement.addBatch(String}]}.
4) {{JdbcPreparedStatement.executeBatch}} - operation must follow JDBC standard 
and return single int value per every executed statement.
5) {{IgniteQueryErrorCode}} - I would use {{UNSUPPORTED_OPERATION}} for both 
{{INVALID_STREAMING_STMT}} and {{CROSS_CACHE_STREAMING}} cases.
6) {{DataStreamerCacheUpdaters}} - as streamed updates, merges and removes are 
only possible if {{WHERE}} condition is specified on {{_key}} column, which is 
internal and should be normally used by users, I would drop support for 
anything except of {{INSERT}} for streaming mode. May be we should discuss it 
on the dev-list to get more opinions.
7) {{IgniteH2Indexing.createStreamer}} - in current implementation {{INSERT}} 
doesn't throw an exception if record already exists. I would add 
{{allowOverwrite}} property to JDBC properties to give usres control over this 
behavior.
8) {{JdbcConnection.getSchema}} - method should return cache name if schema is 
not set explicitly. Currently it will return empty string which is not 
symmetrical with {{setSchema}} method.


was (Author: vozerov):
[~al.psc], my comments:
1) {{JdbcConnection.ctor}} - we need sensible defaults for 
{{PROP_STREAMING_PER_NODE_BUF_SIZE}}, {{PROP_STREAMING_PER_NODE_PAR_OPS}}. They 
cannot be 0. Please re-use values from {{IgniteDataStreamer}}.
2) {{JdbcConnection.prepareStatement}} - if message cannot be processed in 
streaming manner, we agreed to throw an exception. Streaming mode is only for 
streaming.
3) {{JdbcStatement.addBatch(String}]} - let's add more info to error message, 
suggesting user to use {{PreparedStatement.addBatch()}}. Do the same for 
override in {{JdbcPreparedStatement.addBatch(String}]}.
4) {{JdbcPreparedStatement.executeBatch}} - operation must follow JDBC standard 
and return single int value per every executed statement.
5) {{IgniteQueryErrorCode}} - I would use {{UNSUPPORTED_OPERATION}} for both 
{{INVALID_STREAMING_STMT}} and {{CROSS_CACHE_STREAMING}} cases.
6) {{DataStreamerCacheUpdaters}} - as streamed updates, merges and removes are 
only possible if {{WHERE}} condition is specified on {{_key}} column, which is 
internal and should be normally used by users, I would drop support for 
anything except of {{INSERT}} for streaming mode. May be we should discuss it 
on the dev-list to get more opinions.
7) {{IgniteH2Indexing.createStreamer}} - in current implementation {{INSERT}} 
doesn't throw an exception if record already exists. I would add 
{{allowOverwrite}} property to JDBC properties to give usres control over this 
behavior.

> Data streamer mode for DML
> --------------------------
>
>                 Key: IGNITE-4169
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4169
>             Project: Ignite
>          Issue Type: New Feature
>          Components: SQL
>    Affects Versions: 1.8
>            Reporter: Alexander Paschenko
>            Assignee: Alexander Paschenko
>             Fix For: 1.9
>
>
> SQL INSERT and MERGE are supposed to support data streamer mode which should 
> be turned on by JDBC connection string param.
> Note: particular details of usage means and implementation of this mode, as 
> well as urgency of this feature are yet to be discussed.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to