This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 64add8c polish ShardingSphereResultSet (#6465)
64add8c is described below
commit 64add8c5ea3f41efe88be5f6632aee075e43d328
Author: kimmking <[email protected]>
AuthorDate: Mon Jul 27 20:02:35 2020 +0800
polish ShardingSphereResultSet (#6465)
---
.../core/resultset/ShardingSphereResultSet.java | 104 +++++++++------------
1 file changed, 44 insertions(+), 60 deletions(-)
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
index 79eb216..62aadfe 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
@@ -49,6 +49,12 @@ import java.util.TreeMap;
*/
public final class ShardingSphereResultSet extends AbstractResultSetAdapter {
+ private static final String ASCII = "Ascii";
+
+ private static final String UNICODE = "Unicode";
+
+ private static final String BINARY = "Binary";
+
private final MergedResult mergeResultSet;
private final Map<String, Integer> columnLabelAndIndexMap;
@@ -84,8 +90,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public boolean getBoolean(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (boolean)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, boolean.class),
boolean.class);
+ return getBoolean(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -95,8 +100,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public byte getByte(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (byte)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, byte.class),
byte.class);
+ return getByte(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -106,8 +110,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public short getShort(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (short)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, short.class),
short.class);
+ return getShort(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -117,8 +120,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public int getInt(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (int)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, int.class),
int.class);
+ return getInt(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -128,8 +130,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public long getLong(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (long)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, long.class),
long.class);
+ return getLong(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -139,8 +140,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public float getFloat(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (float)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, float.class),
float.class);
+ return getFloat(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -150,8 +150,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public double getDouble(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (double)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, double.class),
double.class);
+ return getDouble(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -161,8 +160,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public String getString(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (String)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, String.class),
String.class);
+ return getString(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -182,8 +180,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public BigDecimal getBigDecimal(final String columnLabel) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (BigDecimal)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex,
BigDecimal.class), BigDecimal.class);
+ return getBigDecimal(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -193,8 +190,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public BigDecimal getBigDecimal(final String columnLabel, final int scale)
throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (BigDecimal)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex,
BigDecimal.class), BigDecimal.class);
+ return getBigDecimal(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -204,8 +200,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public byte[] getBytes(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (byte[])
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, byte[].class),
byte[].class);
+ return getBytes(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -215,8 +210,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Date getDate(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Date)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, Date.class),
Date.class);
+ return getDate(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -226,8 +220,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Date getDate(final String columnLabel, final Calendar cal) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Date)
ResultSetUtil.convertValue(mergeResultSet.getCalendarValue(columnIndex,
Date.class, cal), Date.class);
+ return getDate(getIndexFromColumnLabelAndIndexMap(columnLabel), cal);
}
@Override
@@ -237,8 +230,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Time getTime(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Time)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, Time.class),
Time.class);
+ return getTime(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -248,8 +240,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Time getTime(final String columnLabel, final Calendar cal) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Time)
ResultSetUtil.convertValue(mergeResultSet.getCalendarValue(columnIndex,
Time.class, cal), Time.class);
+ return getTime(getIndexFromColumnLabelAndIndexMap(columnLabel), cal);
}
@Override
@@ -259,8 +250,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Timestamp getTimestamp(final String columnLabel) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Timestamp)
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex,
Timestamp.class), Timestamp.class);
+ return getTimestamp(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -270,41 +260,37 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Timestamp getTimestamp(final String columnLabel, final Calendar
cal) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Timestamp)
ResultSetUtil.convertValue(mergeResultSet.getCalendarValue(columnIndex,
Timestamp.class, cal), Timestamp.class);
+ return getTimestamp(getIndexFromColumnLabelAndIndexMap(columnLabel),
cal);
}
@Override
public InputStream getAsciiStream(final int columnIndex) throws
SQLException {
- return mergeResultSet.getInputStream(columnIndex, "Ascii");
+ return mergeResultSet.getInputStream(columnIndex, ASCII);
}
@Override
public InputStream getAsciiStream(final String columnLabel) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return mergeResultSet.getInputStream(columnIndex, "Ascii");
+ return getAsciiStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
public InputStream getUnicodeStream(final int columnIndex) throws
SQLException {
- return mergeResultSet.getInputStream(columnIndex, "Unicode");
+ return mergeResultSet.getInputStream(columnIndex, UNICODE);
}
@Override
public InputStream getUnicodeStream(final String columnLabel) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return mergeResultSet.getInputStream(columnIndex, "Unicode");
+ return
getUnicodeStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
public InputStream getBinaryStream(final int columnIndex) throws
SQLException {
- return mergeResultSet.getInputStream(columnIndex, "Binary");
+ return mergeResultSet.getInputStream(columnIndex, BINARY);
}
@Override
public InputStream getBinaryStream(final String columnLabel) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return mergeResultSet.getInputStream(columnIndex, "Binary");
+ return
getBinaryStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -314,8 +300,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Reader getCharacterStream(final String columnLabel) throws
SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Reader) mergeResultSet.getValue(columnIndex, Reader.class);
+ return
getCharacterStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -325,8 +310,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Blob getBlob(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Blob) mergeResultSet.getValue(columnIndex, Blob.class);
+ return getBlob(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -336,8 +320,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Clob getClob(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (Clob) mergeResultSet.getValue(columnIndex, Clob.class);
+ return getClob(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -347,8 +330,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public URL getURL(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (URL) mergeResultSet.getValue(columnIndex, URL.class);
+ return getURL(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -358,8 +340,7 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public SQLXML getSQLXML(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return (SQLXML) mergeResultSet.getValue(columnIndex, SQLXML.class);
+ return getSQLXML(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
@Override
@@ -369,10 +350,9 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
@Override
public Object getObject(final String columnLabel) throws SQLException {
- int columnIndex = columnLabelAndIndexMap.get(columnLabel);
- return mergeResultSet.getValue(columnIndex, Object.class);
+ return getObject(getIndexFromColumnLabelAndIndexMap(columnLabel));
}
-
+
@Override
public <T> T getObject(final int columnIndex, final Class<T> type) throws
SQLException {
if (LocalDateTime.class.equals(type) || LocalDate.class.equals(type)
|| LocalTime.class.equals(type)) {
@@ -380,13 +360,17 @@ public final class ShardingSphereResultSet extends
AbstractResultSetAdapter {
}
throw new SQLFeatureNotSupportedException("getObject with type");
}
-
+
@Override
public <T> T getObject(final String columnLabel, final Class<T> type)
throws SQLException {
+ return getObject(getIndexFromColumnLabelAndIndexMap(columnLabel),
type);
+ }
+
+ private Integer getIndexFromColumnLabelAndIndexMap(final String
columnLabel) throws SQLFeatureNotSupportedException {
Integer columnIndex = columnLabelAndIndexMap.get(columnLabel);
- if (columnIndex == null) {
- throw new SQLFeatureNotSupportedException("getObject with type");
+ if (null == columnIndex) {
+ throw new SQLFeatureNotSupportedException(String.format("can't get
index from columnLabel[%s].", columnLabel));
}
- return getObject(columnIndex, type);
+ return columnIndex;
}
}