Open gbadner opened 3 years ago
Any update on this issue?
@mswatosh ?
can you provide a reproducer for SQL client ?
I've created a test for QueryVariationsTest
:
@Test
public void testSelectSysibmColumns(TestContext ctx) {
connect(ctx.asyncAssertSuccess(conn -> conn
.query("select table_name as TABLE_NAME, column_name as COLUMN_NAME, " +
" case when data_type = 'CHARACTER VARYING' then 'VARCHAR' else data_type end as TYPE_NAME, " +
" null as COLUMN_SIZE, is_nullable as IS_NULLABLE " +
"from sysibm.columns " +
"order by table_catalog, table_schema, table_name, column_name, ordinal_position" )
.execute(
ctx.asyncAssertSuccess(rowSet -> {
ctx.assertEquals(1, rowSet.size());
ctx.assertEquals(Arrays.asList("TABLE_NAME", "COLUMN_NAME", "COLUMN_SIZE", "IS_NULLABLE"), rowSet.columnsNames());
RowIterator<Row> rows = rowSet.iterator();
ctx.assertTrue(rows.hasNext());
Row row = rows.next();
// TODO: Add assertions about the content of the row
ctx.assertFalse(rows.hasNext());
conn.close();
})
)
));
}
You should be able to cherry-pick this commit: https://github.com/DavideD/vertx-sql-client/commit/d117691d3486f2ef2c4d7ec26670148a57b9c3a3 (It's been a while)
thanks a lot @DavideD I'll have a look
@vietj I won't have time until monday to dig into this one, but let me know if you'd like me to take a look then. I took a quick scan but I didn't see an obvious quick fix.
thanks, I'll have a look today as there is a reproducer, if I don't find I'll get back to you :-)
On Thu, Oct 21, 2021 at 9:57 PM Mark Swatosh @.***> wrote:
@vietj https://github.com/vietj I won't have time until monday to dig into this one, but let me know if you'd like me to take a look then. I took a quick scan but I didn't see an obvious quick fix.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/eclipse-vertx/vertx-sql-client/issues/1033#issuecomment-948956555, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABXDCVIHHGA6WVW7LIXIVDUIBWA7ANCNFSM5DHLSAIQ .
@mswatosh this seems to go beyond my knowledge of DRDA, can you handle it ?
It looks like the issue here is that the response exceeds maximum length for a DSS response, so the driver needs to send a CNTQRY to get more data. Unfortunately, it looks like most of the path for that is not implemented, including having the cursor handle the partial row.
is that something you can contribute @mswatosh ?
@vietj I should be able to, it's just looking more like a small feature than the quick bug fix I was hoping for.
is there anything you can do about it @mswatosh ?
@vietj I've made some progress in my local environment, but I haven't had a lot of time and it's slow going since I have to learn how the code works as I go.
Version
4.1.3
Context
Using DB2, the following query:
throws:
See below for full stacktrace.
Do you have a reproducer?
No, but it should be easy to reproduce by adding the query to an existing test, since it only relies on
sysibm.columns
(DB2's version of information_schema).We can provide a reproducer using Hibernate ORM and Reactive PRs. Please let me know if you'd like us to do that.
Steps to reproduce
Extra
Full stacktrace: