Result set metadata is exposed to JDBC and ODBC drivers because it is required by JDBC specification and lot's external applications use it. I do not see big demand for this feature in native SQL, where user normally knows the model. Another point is that with changes introduced in recent versions (DML, DDL, shared schemas), we need brand new native SQL API, as current IgniteCache.query() cannot conveniently reflect current and planned Ignite capabilities.
For this reason I do not think we should do proposed change. Instead, we should add metadata retrieval to new SQL API. Vladimir. On Thu, May 18, 2017 at 12:19 PM, Andrey Mashenkov < [email protected]> wrote: > Hi Igniters, > > When user run Sql query via JDBC, he can get fields metadata (field names, > its types and etc.) from ResultSet. > With IgniteCache.query method he gets some QueryCursor implementation, but > QueryCursor interface doesn't have any methods for this. > > For now, the only way to get metadata is try to cast result to internal > QueryCursorImpl class. > > I think it should break nothing if we overload > IgniteCache.query(SqlFieldsQuery q) return type to a new FieldsQueryCursor > interface. > FieldsQueryCursor will be inherits from QueryCursor and provide additional > methods, > > Thoughts? > > -- > Best regards, > Andrey V. Mashenkov >
