korlov42 commented on code in PR #832:
URL: https://github.com/apache/ignite-3/pull/832#discussion_r889019802


##########
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/DdlPlan.java:
##########
@@ -45,7 +45,7 @@ public Type type() {
     /** {@inheritDoc} */
     @Override
     public ResultSetMetadata metadata() {
-        return List::of;
+        return ResultSetMetadataImpl.NO_METADATA;

Review Comment:
   > DDL has no resultset
   
   it's true for public API.
   
   Please take a look at 
`org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl#executeDdl`. 
There a single column response is returned for the every DDL operation. Next, 
this cursor will be wrapped with AsyncSqlCursor which enrich the data with 
results metadata. So, I would expect that AsyncSqlCursor opened for a DDL 
command will provide a valid meta for the result (it's currently an empty meta 
which is wrong).
   
   But later, when AsyncSqlCursor will be wrapped with AsyncResultSet, the meta 
for DDL operation should be omitted. 
   The reasons why I assume this is the right way is described in 
[this](https://github.com/apache/ignite-3/pull/832#discussion_r888900698) 
comment



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to