[
https://issues.apache.org/jira/browse/IGNITE-7421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16385194#comment-16385194
]
Alexey Kukushkin commented on IGNITE-7421:
------------------------------------------
[~vozerov]: Vladimir, I implemented all your comments above except #12:
"_{{IgniteClient.nonQuery}} - let's remove this for now_"
The method was added for two purposes:
# Allow executing SQL statements outside the cache context. In other words,
having this method inside IgniteClient (as opposed to ClientCache#query) allows
running DDL without binding to any cache first.
# it is called "nonQuery" (instead of "query") since the "query" methods are
all lazy: you have to either iterate the returned cursor or call
Cursor#getAll() to have the SQL statement actually executed. nonQuery semantics
is eager: it executes the passed statement right away. If we replace it with a
"query" method the user would have to write DDL like this:
"ignite.query("CREATE TABLE TBL").getAll()". That "getAll" is really confusing
for DDL.
This is why I still think we need IgniteClient#nonQury(String)
> Thin client Java API - data grid API
> ------------------------------------
>
> Key: IGNITE-7421
> URL: https://issues.apache.org/jira/browse/IGNITE-7421
> Project: Ignite
> Issue Type: New Feature
> Components: thin client
> Reporter: Alexey Kukushkin
> Assignee: Alexey Kukushkin
> Priority: Major
> Labels: data, java, thin
>
> Implement below Java bindings for the thin client protocol. The client
> configuration must support failover and encryption.
> Cache
> JCache (limited)
> getName(): String
> put(key, val)
> get(key): V
> getAll(keys: Set): Map
> containsKey(key): boolean
> getAndPut(key, val): V
> getAndReplace(key, val): V
> getAndRemove(key): V
> putIfAbsent
> replace(key, val)
> replace(key, oldVal, newVal)
> putAll
> clear
> remove(key)
> remove(key, val)
> removeAll()
> removeAll(keys: Set)
> getConfiguration(clazz): Configuration
> close()
> size(modes: CachePeekMode...)
> query(qry: Query): QueryCursor
> query(qry: SqlFieldsQuery): FieldsQueryCursor<List>
> withKeepBinary(): IgniteCache
> Ignite
> cache(name: String)
> cacheNames(): Collection
> binary(): IgniteBinary
> createCache(name): Cache
> getOrCreateCache(name): Cache
> destroyCache(name)
> Ignition
> startClient(:ClientConfiguration): Ignite
> ClientConfiguration(port, host, binaryConfiguration, sslConfiguration,
> etc...)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)