You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2019/02/26 06:21:04 UTC
[metamodel] 02/11: the result of column.getNativeType() may be null
This is an automated email from the ASF dual-hosted git repository.
kaspersor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/metamodel.git
commit 6ee457836cbfa88b018fb1faaf0cadb4d0994c99
Author: 李小保 <li...@mininglamp.com>
AuthorDate: Wed Jan 23 15:33:13 2019 +0800
the result of column.getNativeType() may be null
---
.../jdbc/dialects/PostgresqlQueryRewriter.java | 26 ++++++++++++----------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/jdbc/src/main/java/org/apache/metamodel/jdbc/dialects/PostgresqlQueryRewriter.java b/jdbc/src/main/java/org/apache/metamodel/jdbc/dialects/PostgresqlQueryRewriter.java
index 7fe03cb..9289702 100644
--- a/jdbc/src/main/java/org/apache/metamodel/jdbc/dialects/PostgresqlQueryRewriter.java
+++ b/jdbc/src/main/java/org/apache/metamodel/jdbc/dialects/PostgresqlQueryRewriter.java
@@ -106,18 +106,20 @@ public class PostgresqlQueryRewriter extends LimitOffsetQueryRewriter {
@Override
public Object getResultSetValue(ResultSet resultSet, int columnIndex, Column column) throws SQLException {
- switch (column.getNativeType()) {
- case "json":
- case "jsonb":
- assert column.getType() == ColumnType.MAP;
- final String stringValue = resultSet.getString(columnIndex);
- if (stringValue == null) {
- return null;
- }
- try {
- return jsonObjectMapper.readValue(stringValue, Map.class);
- } catch (Exception e) {
- throw new IllegalArgumentException("Unable to read string as JSON: " + stringValue);
+ if (column.getNativeType() != null) {
+ switch (column.getNativeType()) {
+ case "json":
+ case "jsonb":
+ assert column.getType() == ColumnType.MAP;
+ final String stringValue = resultSet.getString(columnIndex);
+ if (stringValue == null) {
+ return null;
+ }
+ try {
+ return jsonObjectMapper.readValue(stringValue, Map.class);
+ } catch (Exception e) {
+ throw new IllegalArgumentException("Unable to read string as JSON: " + stringValue);
+ }
}
}
return super.getResultSetValue(resultSet, columnIndex, column);