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]