Mercurial > hg > monetdb-java
changeset 726:89bbd04036cd
For type inet we always get 0 as length from the server. As inet has a maximum display length of 18 we should return that more useful value instead.
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 26 Jan 2023 19:03:14 +0100 (2023-01-26) |
parents | 224d73363dc9 |
children | 55c14e65b4be |
files | src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java +++ b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java @@ -392,7 +392,15 @@ final class MonetResultSetMetaData checkColumnIndexValidity(column); if (lengths != null) { try { - return lengths[column - 1]; + int len = lengths[column - 1]; + if (len == 0) { + final String monettype = getColumnTypeName(column); + // in case of inet it always has 0 as length. we need to correct it. + if (monettype != null && "inet".equals(monettype)) { + len = 18; // 128.127.126.125/24 + } + } + return len; } catch (IndexOutOfBoundsException e) { throw MonetResultSet.newSQLInvalidColumnIndexException(column); }