Merge pull request #5177 from taosdata/feature/TD-2005
[TD-2005]<feature>: add Error Number for jdbc driver errors
This commit is contained in:
commit
cf983f8c1c
|
@ -32,7 +32,7 @@ ELSEIF (TD_WINDOWS)
|
||||||
#INSTALL(TARGETS taos RUNTIME DESTINATION driver)
|
#INSTALL(TARGETS taos RUNTIME DESTINATION driver)
|
||||||
#INSTALL(TARGETS shell RUNTIME DESTINATION .)
|
#INSTALL(TARGETS shell RUNTIME DESTINATION .)
|
||||||
IF (TD_MVN_INSTALLED)
|
IF (TD_MVN_INSTALLED)
|
||||||
INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/taos-jdbcdriver-2.0.18-dist.jar DESTINATION connector/jdbc)
|
INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/taos-jdbcdriver-2.0.19-dist.jar DESTINATION connector/jdbc)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
ELSEIF (TD_DARWIN)
|
ELSEIF (TD_DARWIN)
|
||||||
SET(TD_MAKE_INSTALL_SH "${TD_COMMUNITY_DIR}/packaging/tools/make_install.sh")
|
SET(TD_MAKE_INSTALL_SH "${TD_COMMUNITY_DIR}/packaging/tools/make_install.sh")
|
||||||
|
|
|
@ -8,7 +8,7 @@ IF (TD_MVN_INSTALLED)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${JDBC_CMD_NAME}
|
ADD_CUSTOM_COMMAND(OUTPUT ${JDBC_CMD_NAME}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND mvn -Dmaven.test.skip=true install -f ${CMAKE_CURRENT_SOURCE_DIR}/pom.xml
|
COMMAND mvn -Dmaven.test.skip=true install -f ${CMAKE_CURRENT_SOURCE_DIR}/pom.xml
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/target/taos-jdbcdriver-2.0.18-dist.jar ${LIBRARY_OUTPUT_PATH}
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/target/taos-jdbcdriver-2.0.19-dist.jar ${LIBRARY_OUTPUT_PATH}
|
||||||
COMMAND mvn -Dmaven.test.skip=true clean -f ${CMAKE_CURRENT_SOURCE_DIR}/pom.xml
|
COMMAND mvn -Dmaven.test.skip=true clean -f ${CMAKE_CURRENT_SOURCE_DIR}/pom.xml
|
||||||
COMMENT "build jdbc driver")
|
COMMENT "build jdbc driver")
|
||||||
ADD_CUSTOM_TARGET(${JDBC_TARGET_NAME} ALL WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH} DEPENDS ${JDBC_CMD_NAME})
|
ADD_CUSTOM_TARGET(${JDBC_TARGET_NAME} ALL WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH} DEPENDS ${JDBC_CMD_NAME})
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
<groupId>com.taosdata.jdbc</groupId>
|
<groupId>com.taosdata.jdbc</groupId>
|
||||||
<artifactId>taos-jdbcdriver</artifactId>
|
<artifactId>taos-jdbcdriver</artifactId>
|
||||||
<version>2.0.18</version>
|
<version>2.0.19</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>JDBCDriver</name>
|
<name>JDBCDriver</name>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.taosdata.jdbc</groupId>
|
<groupId>com.taosdata.jdbc</groupId>
|
||||||
<artifactId>taos-jdbcdriver</artifactId>
|
<artifactId>taos-jdbcdriver</artifactId>
|
||||||
<version>2.0.18</version>
|
<version>2.0.19</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<name>JDBCDriver</name>
|
<name>JDBCDriver</name>
|
||||||
<url>https://github.com/taosdata/TDengine/tree/master/src/connector/jdbc</url>
|
<url>https://github.com/taosdata/TDengine/tree/master/src/connector/jdbc</url>
|
||||||
|
@ -81,8 +81,6 @@
|
||||||
<artifactId>commons-dbcp2</artifactId>
|
<artifactId>commons-dbcp2</artifactId>
|
||||||
<version>2.7.0</version>
|
<version>2.7.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -132,6 +130,7 @@
|
||||||
<exclude>**/AppMemoryLeakTest.java</exclude>
|
<exclude>**/AppMemoryLeakTest.java</exclude>
|
||||||
<exclude>**/TaosInfoMonitorTest.java</exclude>
|
<exclude>**/TaosInfoMonitorTest.java</exclude>
|
||||||
<exclude>**/FailOverTest.java</exclude>
|
<exclude>**/FailOverTest.java</exclude>
|
||||||
|
<exclude>**/InvalidResultSetPointerTest.java</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
<testFailureIgnore>true</testFailureIgnore>
|
<testFailureIgnore>true</testFailureIgnore>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.List;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
public abstract class AbstractTaosDriver implements Driver {
|
public abstract class AbstractDriver implements Driver {
|
||||||
|
|
||||||
private static final String TAOS_CFG_FILENAME = "taos.cfg";
|
private static final String TAOS_CFG_FILENAME = "taos.cfg";
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,249 @@
|
||||||
|
package com.taosdata.jdbc;
|
||||||
|
|
||||||
|
import java.sql.*;
|
||||||
|
|
||||||
|
public abstract class AbstractStatement extends WrapperImpl implements Statement {
|
||||||
|
|
||||||
|
private volatile boolean closeOnCompletion;
|
||||||
|
private int fetchSize;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract ResultSet executeQuery(String sql) throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract int executeUpdate(String sql) throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract void close() throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMaxFieldSize() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return TSDBConstants.maxFieldSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setMaxFieldSize(int max) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
if (max < 0)
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_VARIABLE);
|
||||||
|
// nothing to do
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMaxRows() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setMaxRows(int max) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
if (max < 0)
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_VARIABLE);
|
||||||
|
// nothing to do
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEscapeProcessing(boolean enable) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getQueryTimeout() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setQueryTimeout(int seconds) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
if (seconds < 0)
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_VARIABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel() throws SQLException {
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SQLWarning getWarnings() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clearWarnings() throws SQLException {
|
||||||
|
// nothing to do
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCursorName(String name) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract boolean execute(String sql) throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract ResultSet getResultSet() throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract int getUpdateCount() throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getMoreResults() throws SQLException {
|
||||||
|
return getMoreResults(CLOSE_CURRENT_RESULT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFetchDirection(int direction) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
//nothing to do
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getFetchDirection() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return ResultSet.FETCH_FORWARD;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFetchSize(int rows) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
if (rows < 0)
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_VARIABLE);
|
||||||
|
//nothing to do
|
||||||
|
this.fetchSize = rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getFetchSize() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return this.fetchSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getResultSetConcurrency() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return ResultSet.CONCUR_READ_ONLY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getResultSetType() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return ResultSet.TYPE_FORWARD_ONLY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract void addBatch(String sql) throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract void clearBatch() throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract int[] executeBatch() throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract Connection getConnection() throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getMoreResults(int current) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultSet getGeneratedKeys() throws SQLException {
|
||||||
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
|
||||||
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
|
||||||
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int executeUpdate(String sql, String[] columnNames) throws SQLException {
|
||||||
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
|
||||||
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean execute(String sql, int[] columnIndexes) throws SQLException {
|
||||||
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean execute(String sql, String[] columnNames) throws SQLException {
|
||||||
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getResultSetHoldability() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return ResultSet.HOLD_CURSORS_OVER_COMMIT;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract boolean isClosed() throws SQLException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPoolable(boolean poolable) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
//nothing to do
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPoolable() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void closeOnCompletion() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
this.closeOnCompletion = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isCloseOnCompletion() throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
return this.closeOnCompletion;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -160,12 +160,12 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Date getDate(int columnIndex) throws SQLException {
|
public Date getDate(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Time getTime(int columnIndex) throws SQLException {
|
public Time getTime(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -176,17 +176,17 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getAsciiStream(int columnIndex) throws SQLException {
|
public InputStream getAsciiStream(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getUnicodeStream(int columnIndex) throws SQLException {
|
public InputStream getUnicodeStream(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getBinaryStream(int columnIndex) throws SQLException {
|
public InputStream getBinaryStream(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -256,22 +256,22 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getAsciiStream(String columnLabel) throws SQLException {
|
public InputStream getAsciiStream(String columnLabel) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getUnicodeStream(String columnLabel) throws SQLException {
|
public InputStream getUnicodeStream(String columnLabel) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getBinaryStream(String columnLabel) throws SQLException {
|
public InputStream getBinaryStream(String columnLabel) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLWarning getWarnings() throws SQLException {
|
public SQLWarning getWarnings() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -281,7 +281,7 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getCursorName() throws SQLException {
|
public String getCursorName() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -313,12 +313,12 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Reader getCharacterStream(int columnIndex) throws SQLException {
|
public Reader getCharacterStream(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Reader getCharacterStream(String columnLabel) throws SQLException {
|
public Reader getCharacterStream(String columnLabel) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -353,22 +353,22 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeFirst() throws SQLException {
|
public void beforeFirst() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterLast() throws SQLException {
|
public void afterLast() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean first() throws SQLException {
|
public boolean first() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean last() throws SQLException {
|
public boolean last() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -383,17 +383,17 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean absolute(int row) throws SQLException {
|
public boolean absolute(int row) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean relative(int rows) throws SQLException {
|
public boolean relative(int rows) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean previous() throws SQLException {
|
public boolean previous() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -443,227 +443,227 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateNull(int columnIndex) throws SQLException {
|
public void updateNull(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBoolean(int columnIndex, boolean x) throws SQLException {
|
public void updateBoolean(int columnIndex, boolean x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateByte(int columnIndex, byte x) throws SQLException {
|
public void updateByte(int columnIndex, byte x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateShort(int columnIndex, short x) throws SQLException {
|
public void updateShort(int columnIndex, short x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateInt(int columnIndex, int x) throws SQLException {
|
public void updateInt(int columnIndex, int x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateLong(int columnIndex, long x) throws SQLException {
|
public void updateLong(int columnIndex, long x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateFloat(int columnIndex, float x) throws SQLException {
|
public void updateFloat(int columnIndex, float x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDouble(int columnIndex, double x) throws SQLException {
|
public void updateDouble(int columnIndex, double x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
|
public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateString(int columnIndex, String x) throws SQLException {
|
public void updateString(int columnIndex, String x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBytes(int columnIndex, byte[] x) throws SQLException {
|
public void updateBytes(int columnIndex, byte[] x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDate(int columnIndex, Date x) throws SQLException {
|
public void updateDate(int columnIndex, Date x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTime(int columnIndex, Time x) throws SQLException {
|
public void updateTime(int columnIndex, Time x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
|
public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
|
public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
|
public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
|
public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException {
|
public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateObject(int columnIndex, Object x) throws SQLException {
|
public void updateObject(int columnIndex, Object x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateNull(String columnLabel) throws SQLException {
|
public void updateNull(String columnLabel) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBoolean(String columnLabel, boolean x) throws SQLException {
|
public void updateBoolean(String columnLabel, boolean x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateByte(String columnLabel, byte x) throws SQLException {
|
public void updateByte(String columnLabel, byte x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateShort(String columnLabel, short x) throws SQLException {
|
public void updateShort(String columnLabel, short x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateInt(String columnLabel, int x) throws SQLException {
|
public void updateInt(String columnLabel, int x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateLong(String columnLabel, long x) throws SQLException {
|
public void updateLong(String columnLabel, long x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateFloat(String columnLabel, float x) throws SQLException {
|
public void updateFloat(String columnLabel, float x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDouble(String columnLabel, double x) throws SQLException {
|
public void updateDouble(String columnLabel, double x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
|
public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateString(String columnLabel, String x) throws SQLException {
|
public void updateString(String columnLabel, String x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBytes(String columnLabel, byte[] x) throws SQLException {
|
public void updateBytes(String columnLabel, byte[] x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDate(String columnLabel, Date x) throws SQLException {
|
public void updateDate(String columnLabel, Date x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTime(String columnLabel, Time x) throws SQLException {
|
public void updateTime(String columnLabel, Time x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
|
public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
|
public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
|
public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
|
public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException {
|
public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateObject(String columnLabel, Object x) throws SQLException {
|
public void updateObject(String columnLabel, Object x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insertRow() throws SQLException {
|
public void insertRow() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateRow() throws SQLException {
|
public void updateRow() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteRow() throws SQLException {
|
public void deleteRow() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void refreshRow() throws SQLException {
|
public void refreshRow() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void cancelRowUpdates() throws SQLException {
|
public void cancelRowUpdates() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void moveToInsertRow() throws SQLException {
|
public void moveToInsertRow() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void moveToCurrentRow() throws SQLException {
|
public void moveToCurrentRow() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -673,12 +673,12 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
|
public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Ref getRef(int columnIndex) throws SQLException {
|
public Ref getRef(int columnIndex) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1043,12 +1043,12 @@ public class DatabaseMetaDataResultSet implements ResultSet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
|
public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
|
public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -20,7 +20,7 @@ import java.util.Map;
|
||||||
public abstract class TSDBConstants {
|
public abstract class TSDBConstants {
|
||||||
|
|
||||||
public static final String STATEMENT_CLOSED = "statement is closed";
|
public static final String STATEMENT_CLOSED = "statement is closed";
|
||||||
public static final String UNSUPPORT_METHOD_EXCEPTIONZ_MSG = "this operation is NOT supported currently!";
|
public static final String UNSUPPORTED_METHOD_EXCEPTION_MSG = "this operation is NOT supported currently!";
|
||||||
public static final String INVALID_VARIABLES = "invalid variables";
|
public static final String INVALID_VARIABLES = "invalid variables";
|
||||||
public static final String RESULT_SET_IS_CLOSED = "resultSet is closed";
|
public static final String RESULT_SET_IS_CLOSED = "resultSet is closed";
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ public abstract class TSDBConstants {
|
||||||
public static final int JNI_NUM_OF_FIELDS_0 = -4;
|
public static final int JNI_NUM_OF_FIELDS_0 = -4;
|
||||||
public static final int JNI_SQL_NULL = -5;
|
public static final int JNI_SQL_NULL = -5;
|
||||||
public static final int JNI_FETCH_END = -6;
|
public static final int JNI_FETCH_END = -6;
|
||||||
|
public static final int JNI_OUT_OF_MEMORY = -7;
|
||||||
|
|
||||||
public static final int TSDB_DATA_TYPE_NULL = 0;
|
public static final int TSDB_DATA_TYPE_NULL = 0;
|
||||||
public static final int TSDB_DATA_TYPE_BOOL = 1;
|
public static final int TSDB_DATA_TYPE_BOOL = 1;
|
||||||
|
|
|
@ -37,7 +37,7 @@ import java.util.logging.Logger;
|
||||||
* register it with the DriverManager. This means that a user can load and
|
* register it with the DriverManager. This means that a user can load and
|
||||||
* register a driver by doing Class.forName("foo.bah.Driver")
|
* register a driver by doing Class.forName("foo.bah.Driver")
|
||||||
*/
|
*/
|
||||||
public class TSDBDriver extends AbstractTaosDriver {
|
public class TSDBDriver extends AbstractDriver {
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
private static final String URL_PREFIX1 = "jdbc:TSDB://";
|
private static final String URL_PREFIX1 = "jdbc:TSDB://";
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.taosdata.jdbc;
|
package com.taosdata.jdbc;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.sql.SQLFeatureNotSupportedException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -13,8 +14,23 @@ public class TSDBError {
|
||||||
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_INVALID_VARIABLE, "invalid variables");
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_INVALID_VARIABLE, "invalid variables");
|
||||||
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED, "statement is closed");
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED, "statement is closed");
|
||||||
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED, "resultSet is closed");
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED, "resultSet is closed");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_BATCH_IS_EMPTY, "Batch is empty!");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_INVALID_WITH_EXECUTEQUERY, "Can not issue data manipulation statements with executeQuery()");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_INVALID_WITH_EXECUTEUPDATE, "Can not issue SELECT via executeUpdate()");
|
||||||
|
|
||||||
|
/**************************************************/
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_UNKNOWN, "unknown error");
|
||||||
/**************************************************/
|
/**************************************************/
|
||||||
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_SUBSCRIBE_FAILED, "failed to create subscription");
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_SUBSCRIBE_FAILED, "failed to create subscription");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_UNSUPPORTED_ENCODING, "Unsupported encoding");
|
||||||
|
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_JNI_TDENGINE_ERROR, "internal error of database!");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_JNI_CONNECTION_NULL, "JNI connection already closed!");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_JNI_RESULT_SET_NULL, "invalid JNI result set!");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_JNI_NUM_OF_FIELDS_0, "invalid num of fields!");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_JNI_SQL_NULL, "empty sql string!");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_JNI_FETCH_END, "fetch to the end of resultset");
|
||||||
|
TSDBErrorMap.put(TSDBErrorNumbers.ERROR_JNI_OUT_OF_MEMORY, "JNI alloc memory failed!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String wrapErrMsg(String msg) {
|
public static String wrapErrMsg(String msg) {
|
||||||
|
@ -22,10 +38,24 @@ public class TSDBError {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SQLException createSQLException(int errorNumber) {
|
public static SQLException createSQLException(int errorNumber) {
|
||||||
// JDBC exception code is less than 0x2350
|
return createSQLException(errorNumber, null);
|
||||||
if (errorNumber <= 0x2350)
|
}
|
||||||
return new SQLException(TSDBErrorMap.get(errorNumber));
|
|
||||||
// JNI exception code is
|
public static SQLException createSQLException(int errorNumber, String message) {
|
||||||
return new SQLException(wrapErrMsg(TSDBErrorMap.get(errorNumber)));
|
if (message == null || message.isEmpty()) {
|
||||||
|
if (TSDBErrorNumbers.contains(errorNumber))
|
||||||
|
message = TSDBErrorMap.get(errorNumber);
|
||||||
|
else
|
||||||
|
message = TSDBErrorMap.get(TSDBErrorNumbers.ERROR_UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (errorNumber == TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD)
|
||||||
|
return new SQLFeatureNotSupportedException(message);
|
||||||
|
|
||||||
|
if (errorNumber < TSDBErrorNumbers.ERROR_UNKNOWN)
|
||||||
|
// JDBC exception's error number is less than 0x2350
|
||||||
|
return new SQLException("ERROR (" + Integer.toHexString(errorNumber) + "): " + message);
|
||||||
|
// JNI exception's error number is large than 0x2350
|
||||||
|
return new SQLException("TDengine ERROR (" + Integer.toHexString(errorNumber) + "): " + message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.taosdata.jdbc;
|
package com.taosdata.jdbc;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
public class TSDBErrorNumbers {
|
public class TSDBErrorNumbers {
|
||||||
|
|
||||||
public static final int ERROR_CONNECTION_CLOSED = 0x2301; // connection already closed
|
public static final int ERROR_CONNECTION_CLOSED = 0x2301; // connection already closed
|
||||||
|
@ -7,9 +9,52 @@ public class TSDBErrorNumbers {
|
||||||
public static final int ERROR_INVALID_VARIABLE = 0x2303; //invalid variables
|
public static final int ERROR_INVALID_VARIABLE = 0x2303; //invalid variables
|
||||||
public static final int ERROR_STATEMENT_CLOSED = 0x2304; //statement already closed
|
public static final int ERROR_STATEMENT_CLOSED = 0x2304; //statement already closed
|
||||||
public static final int ERROR_RESULTSET_CLOSED = 0x2305; //resultSet is closed
|
public static final int ERROR_RESULTSET_CLOSED = 0x2305; //resultSet is closed
|
||||||
|
public static final int ERROR_BATCH_IS_EMPTY = 0x2306; //Batch is empty!
|
||||||
|
public static final int ERROR_INVALID_WITH_EXECUTEQUERY = 0x2307; //Can not issue data manipulation statements with executeQuery()
|
||||||
|
public static final int ERROR_INVALID_WITH_EXECUTEUPDATE = 0x2308; //Can not issue SELECT via executeUpdate()
|
||||||
|
|
||||||
public static final int ERROR_SUBSCRIBE_FAILED = 0x2350; //failed to create subscription
|
public static final int ERROR_UNKNOWN = 0x2350; //unknown error
|
||||||
|
|
||||||
|
public static final int ERROR_SUBSCRIBE_FAILED = 0x2351; //failed to create subscription
|
||||||
|
public static final int ERROR_UNSUPPORTED_ENCODING = 0x2352; //Unsupported encoding
|
||||||
|
|
||||||
|
public static final int ERROR_JNI_TDENGINE_ERROR = 0x2353;
|
||||||
|
public static final int ERROR_JNI_CONNECTION_NULL = 0x2354; //invalid tdengine connection!
|
||||||
|
public static final int ERROR_JNI_RESULT_SET_NULL = 0x2355;
|
||||||
|
public static final int ERROR_JNI_NUM_OF_FIELDS_0 = 0x2356;
|
||||||
|
public static final int ERROR_JNI_SQL_NULL = 0x2357;
|
||||||
|
public static final int ERROR_JNI_FETCH_END = 0x2358;
|
||||||
|
public static final int ERROR_JNI_OUT_OF_MEMORY = 0x2359;
|
||||||
|
|
||||||
|
private static final HashSet<Integer> errorNumbers;
|
||||||
|
|
||||||
|
static {
|
||||||
|
errorNumbers = new HashSet();
|
||||||
|
errorNumbers.add(ERROR_CONNECTION_CLOSED);
|
||||||
|
errorNumbers.add(ERROR_UNSUPPORTED_METHOD);
|
||||||
|
errorNumbers.add(ERROR_INVALID_VARIABLE);
|
||||||
|
errorNumbers.add(ERROR_STATEMENT_CLOSED);
|
||||||
|
errorNumbers.add(ERROR_RESULTSET_CLOSED);
|
||||||
|
errorNumbers.add(ERROR_INVALID_WITH_EXECUTEQUERY);
|
||||||
|
errorNumbers.add(ERROR_INVALID_WITH_EXECUTEUPDATE);
|
||||||
|
/*****************************************************/
|
||||||
|
errorNumbers.add(ERROR_SUBSCRIBE_FAILED);
|
||||||
|
errorNumbers.add(ERROR_UNSUPPORTED_ENCODING);
|
||||||
|
|
||||||
|
errorNumbers.add(ERROR_JNI_TDENGINE_ERROR);
|
||||||
|
errorNumbers.add(ERROR_JNI_CONNECTION_NULL);
|
||||||
|
errorNumbers.add(ERROR_JNI_RESULT_SET_NULL);
|
||||||
|
errorNumbers.add(ERROR_JNI_NUM_OF_FIELDS_0);
|
||||||
|
errorNumbers.add(ERROR_JNI_SQL_NULL);
|
||||||
|
errorNumbers.add(ERROR_JNI_FETCH_END);
|
||||||
|
errorNumbers.add(ERROR_JNI_OUT_OF_MEMORY);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private TSDBErrorNumbers() {
|
private TSDBErrorNumbers() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean contains(int errorNumber) {
|
||||||
|
return errorNumbers.contains(errorNumber);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class TSDBJNIConnector {
|
||||||
/**
|
/**
|
||||||
* Result set pointer for the current connection
|
* Result set pointer for the current connection
|
||||||
*/
|
*/
|
||||||
private long taosResultSetPointer = TSDBConstants.JNI_NULL_POINTER;
|
// private long taosResultSetPointer = TSDBConstants.JNI_NULL_POINTER;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* result set status in current connection
|
* result set status in current connection
|
||||||
|
@ -119,9 +119,9 @@ public class TSDBJNIConnector {
|
||||||
public long executeQuery(String sql) throws SQLException {
|
public long executeQuery(String sql) throws SQLException {
|
||||||
// close previous result set if the user forgets to invoke the
|
// close previous result set if the user forgets to invoke the
|
||||||
// free method to close previous result set.
|
// free method to close previous result set.
|
||||||
if (!this.isResultsetClosed) {
|
// if (!this.isResultsetClosed) {
|
||||||
freeResultSet(taosResultSetPointer);
|
// freeResultSet(taosResultSetPointer);
|
||||||
}
|
// }
|
||||||
|
|
||||||
Long pSql = 0l;
|
Long pSql = 0l;
|
||||||
try {
|
try {
|
||||||
|
@ -130,21 +130,32 @@ public class TSDBJNIConnector {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
this.freeResultSetImp(this.taos, pSql);
|
this.freeResultSetImp(this.taos, pSql);
|
||||||
throw new SQLException(TSDBConstants.WrapErrMsg("Unsupported encoding"));
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_ENCODING);
|
||||||
|
}
|
||||||
|
if (pSql == TSDBConstants.JNI_CONNECTION_NULL) {
|
||||||
|
this.freeResultSetImp(this.taos, pSql);
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_CONNECTION_NULL);
|
||||||
|
}
|
||||||
|
if (pSql == TSDBConstants.JNI_SQL_NULL) {
|
||||||
|
this.freeResultSetImp(this.taos, pSql);
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_SQL_NULL);
|
||||||
|
}
|
||||||
|
if (pSql == TSDBConstants.JNI_OUT_OF_MEMORY) {
|
||||||
|
this.freeResultSetImp(this.taos, pSql);
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_OUT_OF_MEMORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
int code = this.getErrCode(pSql);
|
int code = this.getErrCode(pSql);
|
||||||
if (code != 0) {
|
if (code != TSDBConstants.JNI_SUCCESS) {
|
||||||
affectedRows = -1;
|
affectedRows = -1;
|
||||||
String msg = this.getErrMsg(pSql);
|
String msg = this.getErrMsg(pSql);
|
||||||
|
|
||||||
this.freeResultSetImp(this.taos, pSql);
|
this.freeResultSetImp(this.taos, pSql);
|
||||||
throw new SQLException(TSDBConstants.WrapErrMsg(msg), "", code);
|
throw TSDBError.createSQLException(code, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try retrieving result set for the executed SQL using the current connection pointer.
|
// Try retrieving result set for the executed SQL using the current connection pointer.
|
||||||
taosResultSetPointer = this.getResultSetImp(this.taos, pSql);
|
pSql = this.getResultSetImp(this.taos, pSql);
|
||||||
isResultsetClosed = (taosResultSetPointer == TSDBConstants.JNI_NULL_POINTER);
|
isResultsetClosed = (pSql == TSDBConstants.JNI_NULL_POINTER);
|
||||||
|
|
||||||
return pSql;
|
return pSql;
|
||||||
}
|
}
|
||||||
|
@ -173,9 +184,9 @@ public class TSDBJNIConnector {
|
||||||
* Get resultset pointer
|
* Get resultset pointer
|
||||||
* Each connection should have a single open result set at a time
|
* Each connection should have a single open result set at a time
|
||||||
*/
|
*/
|
||||||
public long getResultSet() {
|
// public long getResultSet() {
|
||||||
return taosResultSetPointer;
|
// return taosResultSetPointer;
|
||||||
}
|
// }
|
||||||
|
|
||||||
private native long getResultSetImp(long connection, long pSql);
|
private native long getResultSetImp(long connection, long pSql);
|
||||||
|
|
||||||
|
@ -188,16 +199,16 @@ public class TSDBJNIConnector {
|
||||||
/**
|
/**
|
||||||
* Free resultset operation from C to release resultset pointer by JNI
|
* Free resultset operation from C to release resultset pointer by JNI
|
||||||
*/
|
*/
|
||||||
public int freeResultSet(long result) {
|
public int freeResultSet(long pSql) {
|
||||||
int res = TSDBConstants.JNI_SUCCESS;
|
int res = TSDBConstants.JNI_SUCCESS;
|
||||||
if (result != taosResultSetPointer && taosResultSetPointer != TSDBConstants.JNI_NULL_POINTER) {
|
// if (result != taosResultSetPointer && taosResultSetPointer != TSDBConstants.JNI_NULL_POINTER) {
|
||||||
throw new RuntimeException("Invalid result set pointer");
|
// throw new RuntimeException("Invalid result set pointer");
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (taosResultSetPointer != TSDBConstants.JNI_NULL_POINTER) {
|
// if (taosResultSetPointer != TSDBConstants.JNI_NULL_POINTER) {
|
||||||
res = this.freeResultSetImp(this.taos, result);
|
res = this.freeResultSetImp(this.taos, pSql);
|
||||||
taosResultSetPointer = TSDBConstants.JNI_NULL_POINTER;
|
// taosResultSetPointer = TSDBConstants.JNI_NULL_POINTER;
|
||||||
}
|
// }
|
||||||
|
|
||||||
isResultsetClosed = true;
|
isResultsetClosed = true;
|
||||||
return res;
|
return res;
|
||||||
|
@ -207,15 +218,15 @@ public class TSDBJNIConnector {
|
||||||
* Close the open result set which is associated to the current connection. If the result set is already
|
* Close the open result set which is associated to the current connection. If the result set is already
|
||||||
* closed, return 0 for success.
|
* closed, return 0 for success.
|
||||||
*/
|
*/
|
||||||
public int freeResultSet() {
|
// public int freeResultSet() {
|
||||||
int resCode = TSDBConstants.JNI_SUCCESS;
|
// int resCode = TSDBConstants.JNI_SUCCESS;
|
||||||
if (!isResultsetClosed) {
|
// if (!isResultsetClosed) {
|
||||||
resCode = this.freeResultSetImp(this.taos, this.taosResultSetPointer);
|
// resCode = this.freeResultSetImp(this.taos, this.taosResultSetPointer);
|
||||||
taosResultSetPointer = TSDBConstants.JNI_NULL_POINTER;
|
// taosResultSetPointer = TSDBConstants.JNI_NULL_POINTER;
|
||||||
isResultsetClosed = true;
|
// isResultsetClosed = true;
|
||||||
}
|
// }
|
||||||
return resCode;
|
// return resCode;
|
||||||
}
|
// }
|
||||||
|
|
||||||
private native int freeResultSetImp(long connection, long result);
|
private native int freeResultSetImp(long connection, long result);
|
||||||
|
|
||||||
|
|
|
@ -264,17 +264,17 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
|
public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
|
public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
|
public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -284,7 +284,7 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
|
public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -321,156 +321,156 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
|
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setRef(int parameterIndex, Ref x) throws SQLException {
|
public void setRef(int parameterIndex, Ref x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBlob(int parameterIndex, Blob x) throws SQLException {
|
public void setBlob(int parameterIndex, Blob x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setClob(int parameterIndex, Clob x) throws SQLException {
|
public void setClob(int parameterIndex, Clob x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setArray(int parameterIndex, Array x) throws SQLException {
|
public void setArray(int parameterIndex, Array x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResultSetMetaData getMetaData() throws SQLException {
|
public ResultSetMetaData getMetaData() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
|
public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
|
public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
|
public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
|
public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setURL(int parameterIndex, URL x) throws SQLException {
|
public void setURL(int parameterIndex, URL x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ParameterMetaData getParameterMetaData() throws SQLException {
|
public ParameterMetaData getParameterMetaData() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setRowId(int parameterIndex, RowId x) throws SQLException {
|
public void setRowId(int parameterIndex, RowId x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNString(int parameterIndex, String value) throws SQLException {
|
public void setNString(int parameterIndex, String value) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
|
public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNClob(int parameterIndex, NClob value) throws SQLException {
|
public void setNClob(int parameterIndex, NClob value) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
|
public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
|
public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
|
public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
|
public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
|
public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
|
public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
|
public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
|
public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
|
public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
|
public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
|
public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
|
public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setClob(int parameterIndex, Reader reader) throws SQLException {
|
public void setClob(int parameterIndex, Reader reader) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
|
public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNClob(int parameterIndex, Reader reader) throws SQLException {
|
public void setNClob(int parameterIndex, Reader reader) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,36 +14,17 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
package com.taosdata.jdbc;
|
package com.taosdata.jdbc;
|
||||||
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.Reader;
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.net.URL;
|
import java.sql.*;
|
||||||
import java.sql.Array;
|
|
||||||
import java.sql.Blob;
|
|
||||||
import java.sql.Clob;
|
|
||||||
import java.sql.Date;
|
|
||||||
import java.sql.NClob;
|
|
||||||
import java.sql.Ref;
|
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.ResultSetMetaData;
|
|
||||||
import java.sql.RowId;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.sql.SQLWarning;
|
|
||||||
import java.sql.SQLXML;
|
|
||||||
import java.sql.Statement;
|
|
||||||
import java.sql.Time;
|
|
||||||
import java.sql.Timestamp;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class TSDBResultSet implements ResultSet {
|
public class TSDBResultSet extends AbstractResultSet implements ResultSet {
|
||||||
private TSDBJNIConnector jniConnector = null;
|
private TSDBJNIConnector jniConnector;
|
||||||
|
|
||||||
|
private final TSDBStatement statement;
|
||||||
private long resultSetPointer = 0L;
|
private long resultSetPointer = 0L;
|
||||||
private List<ColumnMetaData> columnMetaDataList = new ArrayList<ColumnMetaData>();
|
private List<ColumnMetaData> columnMetaDataList = new ArrayList<>();
|
||||||
|
|
||||||
private TSDBResultSetRowData rowData;
|
private TSDBResultSetRowData rowData;
|
||||||
private TSDBResultSetBlockData blockData;
|
private TSDBResultSetBlockData blockData;
|
||||||
|
@ -52,24 +33,6 @@ public class TSDBResultSet implements ResultSet {
|
||||||
private boolean lastWasNull = false;
|
private boolean lastWasNull = false;
|
||||||
private final int COLUMN_INDEX_START_VALUE = 1;
|
private final int COLUMN_INDEX_START_VALUE = 1;
|
||||||
|
|
||||||
private int rowIndex = 0;
|
|
||||||
|
|
||||||
public TSDBJNIConnector getJniConnector() {
|
|
||||||
return jniConnector;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setJniConnector(TSDBJNIConnector jniConnector) {
|
|
||||||
this.jniConnector = jniConnector;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getResultSetPointer() {
|
|
||||||
return resultSetPointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setResultSetPointer(long resultSetPointer) {
|
|
||||||
this.resultSetPointer = resultSetPointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBatchFetch(boolean batchFetch) {
|
public void setBatchFetch(boolean batchFetch) {
|
||||||
this.batchFetch = batchFetch;
|
this.batchFetch = batchFetch;
|
||||||
}
|
}
|
||||||
|
@ -78,10 +41,6 @@ public class TSDBResultSet implements ResultSet {
|
||||||
return this.batchFetch;
|
return this.batchFetch;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ColumnMetaData> getColumnMetaDataList() {
|
|
||||||
return columnMetaDataList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setColumnMetaDataList(List<ColumnMetaData> columnMetaDataList) {
|
public void setColumnMetaDataList(List<ColumnMetaData> columnMetaDataList) {
|
||||||
this.columnMetaDataList = columnMetaDataList;
|
this.columnMetaDataList = columnMetaDataList;
|
||||||
}
|
}
|
||||||
|
@ -90,56 +49,25 @@ public class TSDBResultSet implements ResultSet {
|
||||||
return rowData;
|
return rowData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRowData(TSDBResultSetRowData rowData) {
|
public TSDBResultSet(TSDBStatement statement, TSDBJNIConnector connector, long resultSetPointer) throws SQLException {
|
||||||
this.rowData = rowData;
|
this.statement = statement;
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isLastWasNull() {
|
|
||||||
return lastWasNull;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLastWasNull(boolean lastWasNull) {
|
|
||||||
this.lastWasNull = lastWasNull;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TSDBResultSet() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public TSDBResultSet(TSDBJNIConnector connector, long resultSetPointer) throws SQLException {
|
|
||||||
this.jniConnector = connector;
|
this.jniConnector = connector;
|
||||||
this.resultSetPointer = resultSetPointer;
|
this.resultSetPointer = resultSetPointer;
|
||||||
|
|
||||||
int code = this.jniConnector.getSchemaMetaData(this.resultSetPointer, this.columnMetaDataList);
|
int code = this.jniConnector.getSchemaMetaData(this.resultSetPointer, this.columnMetaDataList);
|
||||||
if (code == TSDBConstants.JNI_CONNECTION_NULL) {
|
if (code == TSDBConstants.JNI_CONNECTION_NULL) {
|
||||||
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_CONNECTION_NULL));
|
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_CONNECTION_NULL));
|
||||||
} else if (code == TSDBConstants.JNI_RESULT_SET_NULL) {
|
}
|
||||||
|
if (code == TSDBConstants.JNI_RESULT_SET_NULL) {
|
||||||
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_RESULT_SET_NULL));
|
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_RESULT_SET_NULL));
|
||||||
} else if (code == TSDBConstants.JNI_NUM_OF_FIELDS_0) {
|
}
|
||||||
|
if (code == TSDBConstants.JNI_NUM_OF_FIELDS_0) {
|
||||||
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_NUM_OF_FIELDS_0));
|
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_NUM_OF_FIELDS_0));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.rowData = new TSDBResultSetRowData(this.columnMetaDataList.size());
|
this.rowData = new TSDBResultSetRowData(this.columnMetaDataList.size());
|
||||||
this.blockData = new TSDBResultSetBlockData(this.columnMetaDataList, this.columnMetaDataList.size());
|
this.blockData = new TSDBResultSetBlockData(this.columnMetaDataList, this.columnMetaDataList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T unwrap(Class<T> iface) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.WrapErrMsg(TSDBConstants.RESULT_SET_IS_CLOSED));
|
|
||||||
|
|
||||||
try {
|
|
||||||
return iface.cast(this);
|
|
||||||
} catch (ClassCastException cce) {
|
|
||||||
throw new SQLException("Unable to unwrap to " + iface.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isWrapperFor(Class<?> iface) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.WrapErrMsg(TSDBConstants.RESULT_SET_IS_CLOSED));
|
|
||||||
|
|
||||||
return iface.isInstance(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean next() throws SQLException {
|
public boolean next() throws SQLException {
|
||||||
if (this.getBatchFetch()) {
|
if (this.getBatchFetch()) {
|
||||||
if (this.blockData.forward()) {
|
if (this.blockData.forward()) {
|
||||||
|
@ -273,7 +201,7 @@ public class TSDBResultSet implements ResultSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getLong(int columnIndex) throws SQLException {
|
public long getLong(int columnIndex) throws SQLException {
|
||||||
long res = 0l;
|
long res = 0L;
|
||||||
int colIndex = getTrueColumnIndex(columnIndex);
|
int colIndex = getTrueColumnIndex(columnIndex);
|
||||||
|
|
||||||
if (!this.getBatchFetch()) {
|
if (!this.getBatchFetch()) {
|
||||||
|
@ -317,14 +245,6 @@ public class TSDBResultSet implements ResultSet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see java.sql.ResultSet#getBigDecimal(int, int)
|
|
||||||
*
|
|
||||||
* @deprecated Use {@code getBigDecimal(int columnIndex)} or {@code
|
|
||||||
* getBigDecimal(String columnLabel)}
|
|
||||||
*/
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
|
public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
|
||||||
return new BigDecimal(getLong(columnIndex));
|
return new BigDecimal(getLong(columnIndex));
|
||||||
|
@ -334,16 +254,6 @@ public class TSDBResultSet implements ResultSet {
|
||||||
return getString(columnIndex).getBytes();
|
return getString(columnIndex).getBytes();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDate(int columnIndex) throws SQLException {
|
|
||||||
int colIndex = getTrueColumnIndex(columnIndex);
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Time getTime(int columnIndex) throws SQLException {
|
|
||||||
int colIndex = getTrueColumnIndex(columnIndex);
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Timestamp getTimestamp(int columnIndex) throws SQLException {
|
public Timestamp getTimestamp(int columnIndex) throws SQLException {
|
||||||
Timestamp res = null;
|
Timestamp res = null;
|
||||||
int colIndex = getTrueColumnIndex(columnIndex);
|
int colIndex = getTrueColumnIndex(columnIndex);
|
||||||
|
@ -359,112 +269,11 @@ public class TSDBResultSet implements ResultSet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public InputStream getAsciiStream(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see java.sql.ResultSet#getUnicodeStream(int)
|
|
||||||
*
|
|
||||||
* * @deprecated use <code>getCharacterStream</code> in place of
|
|
||||||
* <code>getUnicodeStream</code>
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public InputStream getUnicodeStream(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InputStream getBinaryStream(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getString(String columnLabel) throws SQLException {
|
|
||||||
return this.getString(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getBoolean(String columnLabel) throws SQLException {
|
|
||||||
return this.getBoolean(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte getByte(String columnLabel) throws SQLException {
|
|
||||||
return this.getByte(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public short getShort(String columnLabel) throws SQLException {
|
|
||||||
return this.getShort(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getInt(String columnLabel) throws SQLException {
|
|
||||||
return this.getInt(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getLong(String columnLabel) throws SQLException {
|
|
||||||
return this.getLong(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public float getFloat(String columnLabel) throws SQLException {
|
|
||||||
return this.getFloat(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getDouble(String columnLabel) throws SQLException {
|
|
||||||
return this.getDouble(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* used by spark
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException {
|
|
||||||
return this.getBigDecimal(this.findColumn(columnLabel), scale);
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] getBytes(String columnLabel) throws SQLException {
|
|
||||||
return this.getBytes(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getDate(String columnLabel) throws SQLException {
|
|
||||||
return this.getDate(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Time getTime(String columnLabel) throws SQLException {
|
|
||||||
return this.getTime(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Timestamp getTimestamp(String columnLabel) throws SQLException {
|
|
||||||
return this.getTimestamp(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public InputStream getAsciiStream(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public InputStream getUnicodeStream(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InputStream getBinaryStream(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SQLWarning getWarnings() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clearWarnings() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCursorName() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResultSetMetaData getMetaData() throws SQLException {
|
public ResultSetMetaData getMetaData() throws SQLException {
|
||||||
return new TSDBResultSetMetaData(this.columnMetaDataList);
|
return new TSDBResultSetMetaData(this.columnMetaDataList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Object getObject(int columnIndex) throws SQLException {
|
public Object getObject(int columnIndex) throws SQLException {
|
||||||
int colIndex = getTrueColumnIndex(columnIndex);
|
int colIndex = getTrueColumnIndex(columnIndex);
|
||||||
|
|
||||||
|
@ -476,32 +285,21 @@ public class TSDBResultSet implements ResultSet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Object getObject(String columnLabel) throws SQLException {
|
public Object getObject(String columnLabel) throws SQLException {
|
||||||
return this.getObject(this.findColumn(columnLabel));
|
return this.getObject(this.findColumn(columnLabel));
|
||||||
}
|
}
|
||||||
|
|
||||||
public int findColumn(String columnLabel) throws SQLException {
|
public int findColumn(String columnLabel) throws SQLException {
|
||||||
Iterator<ColumnMetaData> colMetaDataIt = this.columnMetaDataList.iterator();
|
for (ColumnMetaData colMetaData : this.columnMetaDataList) {
|
||||||
while (colMetaDataIt.hasNext()) {
|
|
||||||
ColumnMetaData colMetaData = colMetaDataIt.next();
|
|
||||||
if (colMetaData.getColName() != null && colMetaData.getColName().equalsIgnoreCase(columnLabel)) {
|
if (colMetaData.getColName() != null && colMetaData.getColName().equalsIgnoreCase(columnLabel)) {
|
||||||
return colMetaData.getColIndex() + 1;
|
return colMetaData.getColIndex() + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_VARIABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Reader getCharacterStream(int columnIndex) throws SQLException {
|
@Override
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Reader getCharacterStream(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* used by spark
|
|
||||||
*/
|
|
||||||
public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
|
public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
|
||||||
int colIndex = getTrueColumnIndex(columnIndex);
|
int colIndex = getTrueColumnIndex(columnIndex);
|
||||||
|
|
||||||
|
@ -513,403 +311,111 @@ public class TSDBResultSet implements ResultSet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getBigDecimal(String columnLabel) throws SQLException {
|
@Override
|
||||||
return this.getBigDecimal(this.findColumn(columnLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isBeforeFirst() throws SQLException {
|
public boolean isBeforeFirst() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isAfterLast() throws SQLException {
|
public boolean isAfterLast() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isFirst() throws SQLException {
|
public boolean isFirst() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isLast() throws SQLException {
|
public boolean isLast() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void beforeFirst() throws SQLException {
|
public void beforeFirst() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void afterLast() throws SQLException {
|
public void afterLast() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean first() throws SQLException {
|
public boolean first() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean last() throws SQLException {
|
public boolean last() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getRow() throws SQLException {
|
public int getRow() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean absolute(int row) throws SQLException {
|
public boolean absolute(int row) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean relative(int rows) throws SQLException {
|
public boolean relative(int rows) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean previous() throws SQLException {
|
public boolean previous() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
}
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
public void setFetchDirection(int direction) throws SQLException {
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_UNSUPPORTED_METHOD);
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getFetchDirection() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFetchSize(int rows) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getFetchSize() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getType() throws SQLException {
|
|
||||||
return ResultSet.TYPE_FORWARD_ONLY;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getConcurrency() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean rowUpdated() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean rowInserted() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean rowDeleted() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNull(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBoolean(int columnIndex, boolean x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateByte(int columnIndex, byte x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateShort(int columnIndex, short x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateInt(int columnIndex, int x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateLong(int columnIndex, long x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateFloat(int columnIndex, float x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateDouble(int columnIndex, double x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateString(int columnIndex, String x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBytes(int columnIndex, byte[] x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateDate(int columnIndex, Date x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateTime(int columnIndex, Time x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateObject(int columnIndex, Object x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNull(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBoolean(String columnLabel, boolean x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateByte(String columnLabel, byte x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateShort(String columnLabel, short x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateInt(String columnLabel, int x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateLong(String columnLabel, long x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateFloat(String columnLabel, float x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateDouble(String columnLabel, double x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateString(String columnLabel, String x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBytes(String columnLabel, byte[] x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateDate(String columnLabel, Date x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateTime(String columnLabel, Time x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateObject(String columnLabel, Object x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void insertRow() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRow() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void deleteRow() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void refreshRow() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void cancelRowUpdates() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void moveToInsertRow() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void moveToCurrentRow() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Statement getStatement() throws SQLException {
|
public Statement getStatement() throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (isClosed())
|
||||||
}
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_RESULTSET_CLOSED);
|
||||||
|
|
||||||
public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
|
return this.statement;
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Ref getRef(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Blob getBlob(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Clob getClob(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Array getArray(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getObject(String columnLabel, Map<String, Class<?>> map) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Ref getRef(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Blob getBlob(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Clob getClob(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Array getArray(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getDate(int columnIndex, Calendar cal) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getDate(String columnLabel, Calendar cal) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Time getTime(int columnIndex, Calendar cal) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Time getTime(String columnLabel, Calendar cal) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public URL getURL(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public URL getURL(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRef(int columnIndex, Ref x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRef(String columnLabel, Ref x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBlob(int columnIndex, Blob x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBlob(String columnLabel, Blob x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateClob(int columnIndex, Clob x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateClob(String columnLabel, Clob x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateArray(int columnIndex, Array x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateArray(String columnLabel, Array x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public RowId getRowId(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public RowId getRowId(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRowId(int columnIndex, RowId x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateRowId(String columnLabel, RowId x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getHoldability() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isClosed() throws SQLException {
|
public boolean isClosed() throws SQLException {
|
||||||
|
//TODO: check if need release resources
|
||||||
boolean isClosed = true;
|
boolean isClosed = true;
|
||||||
if (jniConnector != null) {
|
if (jniConnector != null) {
|
||||||
isClosed = jniConnector.isResultsetClosed();
|
isClosed = jniConnector.isResultsetClosed();
|
||||||
|
@ -917,183 +423,11 @@ public class TSDBResultSet implements ResultSet {
|
||||||
return isClosed;
|
return isClosed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateNString(int columnIndex, String nString) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNString(String columnLabel, String nString) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNClob(int columnIndex, NClob nClob) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNClob(String columnLabel, NClob nClob) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public NClob getNClob(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public NClob getNClob(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SQLXML getSQLXML(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SQLXML getSQLXML(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNString(int columnIndex) throws SQLException {
|
public String getNString(int columnIndex) throws SQLException {
|
||||||
int colIndex = getTrueColumnIndex(columnIndex);
|
int colIndex = getTrueColumnIndex(columnIndex);
|
||||||
return (String) rowData.get(colIndex);
|
return (String) rowData.get(colIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getNString(String columnLabel) throws SQLException {
|
|
||||||
return (String) this.getString(columnLabel);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Reader getNCharacterStream(int columnIndex) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Reader getNCharacterStream(String columnLabel) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateClob(int columnIndex, Reader reader) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateClob(String columnLabel, Reader reader) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNClob(int columnIndex, Reader reader) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateNClob(String columnLabel, Reader reader) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getTrueColumnIndex(int columnIndex) throws SQLException {
|
private int getTrueColumnIndex(int columnIndex) throws SQLException {
|
||||||
if (columnIndex < this.COLUMN_INDEX_START_VALUE) {
|
if (columnIndex < this.COLUMN_INDEX_START_VALUE) {
|
||||||
throw new SQLException("Column Index out of range, " + columnIndex + " < " + this.COLUMN_INDEX_START_VALUE);
|
throw new SQLException("Column Index out of range, " + columnIndex + " < " + this.COLUMN_INDEX_START_VALUE);
|
||||||
|
@ -1103,7 +437,6 @@ public class TSDBResultSet implements ResultSet {
|
||||||
if (columnIndex > numOfCols) {
|
if (columnIndex > numOfCols) {
|
||||||
throw new SQLException("Column Index out of range, " + columnIndex + " > " + numOfCols);
|
throw new SQLException("Column Index out of range, " + columnIndex + " > " + numOfCols);
|
||||||
}
|
}
|
||||||
|
|
||||||
return columnIndex - 1;
|
return columnIndex - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,11 +29,11 @@ public class TSDBResultSetMetaData implements ResultSetMetaData {
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T unwrap(Class<T> iface) throws SQLException {
|
public <T> T unwrap(Class<T> iface) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isWrapperFor(Class<?> iface) throws SQLException {
|
public boolean isWrapperFor(Class<?> iface) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getColumnCount() throws SQLException {
|
public int getColumnCount() throws SQLException {
|
||||||
|
@ -94,7 +94,7 @@ public class TSDBResultSetMetaData implements ResultSetMetaData {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSchemaName(int column) throws SQLException {
|
public String getSchemaName(int column) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPrecision(int column) throws SQLException {
|
public int getPrecision(int column) throws SQLException {
|
||||||
|
@ -125,11 +125,11 @@ public class TSDBResultSetMetaData implements ResultSetMetaData {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTableName(int column) throws SQLException {
|
public String getTableName(int column) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCatalogName(int column) throws SQLException {
|
public String getCatalogName(int column) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getColumnType(int column) throws SQLException {
|
public int getColumnType(int column) throws SQLException {
|
||||||
|
@ -173,7 +173,7 @@ public class TSDBResultSetMetaData implements ResultSetMetaData {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDefinitelyWritable(int column) throws SQLException {
|
public boolean isDefinitelyWritable(int column) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getColumnClassName(int column) throws SQLException {
|
public String getColumnClassName(int column) throws SQLException {
|
||||||
|
|
|
@ -1153,11 +1153,11 @@ public class TSDBResultSetWrapper implements ResultSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
|
public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
|
public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -14,34 +14,24 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
package com.taosdata.jdbc;
|
package com.taosdata.jdbc;
|
||||||
|
|
||||||
import com.taosdata.jdbc.utils.TaosInfo;
|
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TSDBStatement implements Statement {
|
public class TSDBStatement extends AbstractStatement {
|
||||||
private TSDBJNIConnector connector;
|
|
||||||
|
|
||||||
|
private TSDBJNIConnector connector;
|
||||||
/**
|
/**
|
||||||
* To store batched commands
|
* To store batched commands
|
||||||
*/
|
*/
|
||||||
protected List<String> batchedArgs;
|
protected List<String> batchedArgs;
|
||||||
|
|
||||||
/**
|
|
||||||
* Timeout for a query
|
|
||||||
*/
|
|
||||||
protected int queryTimeout = 0;
|
|
||||||
|
|
||||||
private Long pSql = 0l;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Status of current statement
|
* Status of current statement
|
||||||
*/
|
*/
|
||||||
private boolean isClosed = true;
|
private boolean isClosed;
|
||||||
private int affectedRows = 0;
|
private int affectedRows = -1;
|
||||||
|
|
||||||
private TSDBConnection connection;
|
private TSDBConnection connection;
|
||||||
|
private TSDBResultSet resultSet;
|
||||||
|
|
||||||
public void setConnection(TSDBConnection connection) {
|
public void setConnection(TSDBConnection connection) {
|
||||||
this.connection = connection;
|
this.connection = connection;
|
||||||
|
@ -50,220 +40,89 @@ public class TSDBStatement implements Statement {
|
||||||
TSDBStatement(TSDBConnection connection, TSDBJNIConnector connector) {
|
TSDBStatement(TSDBConnection connection, TSDBJNIConnector connector) {
|
||||||
this.connection = connection;
|
this.connection = connection;
|
||||||
this.connector = connector;
|
this.connector = connector;
|
||||||
this.isClosed = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public <T> T unwrap(Class<T> iface) throws SQLException {
|
|
||||||
try {
|
|
||||||
return iface.cast(this);
|
|
||||||
} catch (ClassCastException cce) {
|
|
||||||
throw new SQLException("Unable to unwrap to " + iface.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isWrapperFor(Class<?> iface) throws SQLException {
|
|
||||||
return iface.isInstance(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResultSet executeQuery(String sql) throws SQLException {
|
public ResultSet executeQuery(String sql) throws SQLException {
|
||||||
if (isClosed()) {
|
// check if closed
|
||||||
|
if (isClosed())
|
||||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
}
|
//TODO: 如果在executeQuery方法中执行insert语句,那么先执行了SQL,再通过pSql来检查是否为一个insert语句,但这个insert SQL已经执行成功了
|
||||||
|
|
||||||
// TODO make sure it is not a update query
|
// execute query
|
||||||
pSql = this.connector.executeQuery(sql);
|
long pSql = this.connector.executeQuery(sql);
|
||||||
long resultSetPointer = this.connector.getResultSet();
|
// if pSql is create/insert/update/delete/alter SQL
|
||||||
if (resultSetPointer == TSDBConstants.JNI_CONNECTION_NULL) {
|
if (this.connector.isUpdateQuery(pSql)) {
|
||||||
this.connector.freeResultSet(pSql);
|
this.connector.freeResultSet(pSql);
|
||||||
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_CONNECTION_NULL));
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_WITH_EXECUTEQUERY);
|
||||||
}
|
|
||||||
|
|
||||||
// create/insert/update/delete/alter
|
|
||||||
if (resultSetPointer == TSDBConstants.JNI_NULL_POINTER) {
|
|
||||||
this.connector.freeResultSet(pSql);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.connector.isUpdateQuery(pSql)) {
|
|
||||||
TSDBResultSet res = new TSDBResultSet(this.connector, resultSetPointer);
|
|
||||||
res.setBatchFetch(this.connection.getBatchFetch());
|
|
||||||
return res;
|
|
||||||
} else {
|
|
||||||
this.connector.freeResultSet(pSql);
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TSDBResultSet res = new TSDBResultSet(this, this.connector, pSql);
|
||||||
|
res.setBatchFetch(this.connection.getBatchFetch());
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int executeUpdate(String sql) throws SQLException {
|
public int executeUpdate(String sql) throws SQLException {
|
||||||
if (isClosed()) {
|
if (isClosed())
|
||||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
}
|
|
||||||
|
|
||||||
// TODO check if current query is update query
|
long pSql = this.connector.executeQuery(sql);
|
||||||
pSql = this.connector.executeQuery(sql);
|
// if pSql is create/insert/update/delete/alter SQL
|
||||||
long resultSetPointer = this.connector.getResultSet();
|
if (!this.connector.isUpdateQuery(pSql)) {
|
||||||
|
|
||||||
if (resultSetPointer == TSDBConstants.JNI_CONNECTION_NULL) {
|
|
||||||
this.connector.freeResultSet(pSql);
|
this.connector.freeResultSet(pSql);
|
||||||
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_CONNECTION_NULL));
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_WITH_EXECUTEUPDATE);
|
||||||
}
|
}
|
||||||
|
int affectedRows = this.connector.getAffectedRows(pSql);
|
||||||
this.affectedRows = this.connector.getAffectedRows(pSql);
|
|
||||||
this.connector.freeResultSet(pSql);
|
this.connector.freeResultSet(pSql);
|
||||||
|
return affectedRows;
|
||||||
return this.affectedRows;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getErrorMsg(long pSql) {
|
|
||||||
return this.connector.getErrMsg(pSql);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void close() throws SQLException {
|
public void close() throws SQLException {
|
||||||
if (!isClosed) {
|
if (!isClosed) {
|
||||||
if (!this.connector.isResultsetClosed()) {
|
if (this.resultSet != null)
|
||||||
this.connector.freeResultSet();
|
this.resultSet.close();
|
||||||
}
|
|
||||||
isClosed = true;
|
isClosed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMaxFieldSize() throws SQLException {
|
|
||||||
if (isClosed()) {
|
|
||||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxFieldSize(int max) throws SQLException {
|
|
||||||
if (isClosed()) {
|
|
||||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getMaxRows() throws SQLException {
|
|
||||||
if (isClosed()) {
|
|
||||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
|
||||||
}
|
|
||||||
// always set maxRows to zero, meaning unlimitted rows in a resultSet
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxRows(int max) throws SQLException {
|
|
||||||
if (isClosed()) {
|
|
||||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
|
||||||
}
|
|
||||||
// always set maxRows to zero, meaning unlimited rows in a resultSet
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEscapeProcessing(boolean enable) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getQueryTimeout() throws SQLException {
|
|
||||||
return queryTimeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setQueryTimeout(int seconds) throws SQLException {
|
|
||||||
this.queryTimeout = seconds;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void cancel() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SQLWarning getWarnings() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clearWarnings() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCursorName(String name) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean execute(String sql) throws SQLException {
|
public boolean execute(String sql) throws SQLException {
|
||||||
if (isClosed) {
|
// check if closed
|
||||||
throw new SQLException("Invalid method call on a closed statement.");
|
if (isClosed())
|
||||||
}
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
boolean res = true;
|
// execute query
|
||||||
pSql = this.connector.executeQuery(sql);
|
long pSql = this.connector.executeQuery(sql);
|
||||||
long resultSetPointer = this.connector.getResultSet();
|
// if pSql is create/insert/update/delete/alter SQL
|
||||||
|
if (this.connector.isUpdateQuery(pSql)) {
|
||||||
if (resultSetPointer == TSDBConstants.JNI_CONNECTION_NULL) {
|
this.affectedRows = this.connector.getAffectedRows(pSql);
|
||||||
this.connector.freeResultSet(pSql);
|
this.connector.freeResultSet(pSql);
|
||||||
throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_CONNECTION_NULL));
|
return false;
|
||||||
} else if (resultSetPointer == TSDBConstants.JNI_NULL_POINTER) {
|
|
||||||
// no result set is retrieved
|
|
||||||
this.connector.freeResultSet(pSql);
|
|
||||||
res = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
this.resultSet = new TSDBResultSet(this, this.connector, pSql);
|
||||||
|
this.resultSet.setBatchFetch(this.connection.getBatchFetch());
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResultSet getResultSet() throws SQLException {
|
public ResultSet getResultSet() throws SQLException {
|
||||||
if (isClosed) {
|
if (isClosed())
|
||||||
throw new SQLException("Invalid method call on a closed statement.");
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
}
|
// long resultSetPointer = connector.getResultSet();
|
||||||
long resultSetPointer = connector.getResultSet();
|
// TSDBResultSet resSet = null;
|
||||||
TSDBResultSet resSet = null;
|
// if (resultSetPointer != TSDBConstants.JNI_NULL_POINTER) {
|
||||||
if (resultSetPointer != TSDBConstants.JNI_NULL_POINTER) {
|
// resSet = new TSDBResultSet(connector, resultSetPointer);
|
||||||
resSet = new TSDBResultSet(connector, resultSetPointer);
|
// }
|
||||||
}
|
return this.resultSet;
|
||||||
return resSet;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getUpdateCount() throws SQLException {
|
public int getUpdateCount() throws SQLException {
|
||||||
if (isClosed) {
|
if (isClosed())
|
||||||
throw new SQLException("Invalid method call on a closed statement.");
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
}
|
|
||||||
|
|
||||||
return this.affectedRows;
|
return this.affectedRows;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getMoreResults() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFetchDirection(int direction) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getFetchDirection() throws SQLException {
|
|
||||||
return ResultSet.FETCH_FORWARD;
|
|
||||||
// throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* used by spark
|
|
||||||
*/
|
|
||||||
public void setFetchSize(int rows) throws SQLException {
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* used by spark
|
|
||||||
*/
|
|
||||||
public int getFetchSize() throws SQLException {
|
|
||||||
return 4096;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getResultSetConcurrency() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getResultSetType() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addBatch(String sql) throws SQLException {
|
public void addBatch(String sql) throws SQLException {
|
||||||
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
|
||||||
if (batchedArgs == null) {
|
if (batchedArgs == null) {
|
||||||
batchedArgs = new ArrayList<>();
|
batchedArgs = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
@ -271,83 +130,41 @@ public class TSDBStatement implements Statement {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clearBatch() throws SQLException {
|
public void clearBatch() throws SQLException {
|
||||||
batchedArgs.clear();
|
if (isClosed())
|
||||||
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
|
if (batchedArgs != null)
|
||||||
|
batchedArgs.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int[] executeBatch() throws SQLException {
|
public int[] executeBatch() throws SQLException {
|
||||||
if (isClosed) {
|
if (isClosed())
|
||||||
throw new SQLException("Invalid method call on a closed statement.");
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
}
|
if (batchedArgs == null || batchedArgs.isEmpty())
|
||||||
if (batchedArgs == null) {
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_BATCH_IS_EMPTY);
|
||||||
throw new SQLException(TSDBConstants.WrapErrMsg("Batch is empty!"));
|
|
||||||
} else {
|
int[] res = new int[batchedArgs.size()];
|
||||||
int[] res = new int[batchedArgs.size()];
|
for (int i = 0; i < batchedArgs.size(); i++) {
|
||||||
for (int i = 0; i < batchedArgs.size(); i++) {
|
boolean isSelect = execute(batchedArgs.get(i));
|
||||||
res[i] = executeUpdate(batchedArgs.get(i));
|
if (isSelect) {
|
||||||
|
res[i] = SUCCESS_NO_INFO;
|
||||||
|
} else {
|
||||||
|
res[i] = getUpdateCount();
|
||||||
}
|
}
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Connection getConnection() throws SQLException {
|
public Connection getConnection() throws SQLException {
|
||||||
if (this.connector != null)
|
if (isClosed())
|
||||||
return this.connection;
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_STATEMENT_CLOSED);
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
if (this.connector == null)
|
||||||
}
|
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_CONNECTION_NULL);
|
||||||
|
return this.connection;
|
||||||
public boolean getMoreResults(int current) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResultSet getGeneratedKeys() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int executeUpdate(String sql, String[] columnNames) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean execute(String sql, int[] columnIndexes) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean execute(String sql, String[] columnNames) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getResultSetHoldability() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isClosed() throws SQLException {
|
public boolean isClosed() throws SQLException {
|
||||||
return isClosed;
|
return isClosed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPoolable(boolean poolable) throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPoolable() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void closeOnCompletion() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isCloseOnCompletion() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class TSDBSubscribe {
|
||||||
} else if (resultSetPointer == TSDBConstants.JNI_NULL_POINTER) {
|
} else if (resultSetPointer == TSDBConstants.JNI_NULL_POINTER) {
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
return new TSDBResultSet(this.connecter, resultSetPointer);
|
return new TSDBResultSet(null, this.connecter, resultSetPointer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.taosdata.jdbc;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Wrapper;
|
||||||
|
|
||||||
|
public class WrapperImpl implements Wrapper {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> T unwrap(Class<T> iface) throws SQLException {
|
||||||
|
try {
|
||||||
|
return iface.cast(this);
|
||||||
|
} catch (ClassCastException cce) {
|
||||||
|
throw new SQLException("Unable to unwrap to " + iface.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isWrapperFor(Class<?> iface) throws SQLException {
|
||||||
|
return iface.isInstance(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -47,7 +47,7 @@ public class RestfulConnection implements Connection {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
throw new SQLException(CONNECTION_IS_CLOSED);
|
throw new SQLException(CONNECTION_IS_CLOSED);
|
||||||
//TODO: prepareStatement
|
//TODO: prepareStatement
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -55,7 +55,7 @@ public class RestfulConnection implements Connection {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
throw new SQLException(CONNECTION_IS_CLOSED);
|
throw new SQLException(CONNECTION_IS_CLOSED);
|
||||||
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -72,7 +72,7 @@ public class RestfulConnection implements Connection {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
throw new SQLException(CONNECTION_IS_CLOSED);
|
throw new SQLException(CONNECTION_IS_CLOSED);
|
||||||
if (!autoCommit)
|
if (!autoCommit)
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -162,7 +162,7 @@ public class RestfulConnection implements Connection {
|
||||||
case Connection.TRANSACTION_READ_COMMITTED:
|
case Connection.TRANSACTION_READ_COMMITTED:
|
||||||
case Connection.TRANSACTION_REPEATABLE_READ:
|
case Connection.TRANSACTION_REPEATABLE_READ:
|
||||||
case Connection.TRANSACTION_SERIALIZABLE:
|
case Connection.TRANSACTION_SERIALIZABLE:
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
default:
|
default:
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
||||||
}
|
}
|
||||||
|
@ -197,10 +197,10 @@ public class RestfulConnection implements Connection {
|
||||||
throw new SQLException(CONNECTION_IS_CLOSED);
|
throw new SQLException(CONNECTION_IS_CLOSED);
|
||||||
|
|
||||||
if (resultSetType != ResultSet.TYPE_FORWARD_ONLY) {
|
if (resultSetType != ResultSet.TYPE_FORWARD_ONLY) {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY)
|
if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY)
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
return createStatement();
|
return createStatement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -221,7 +221,7 @@ public class RestfulConnection implements Connection {
|
||||||
if (resultSetType != ResultSet.TYPE_FORWARD_ONLY || resultSetConcurrency != ResultSet.CONCUR_READ_ONLY)
|
if (resultSetType != ResultSet.TYPE_FORWARD_ONLY || resultSetConcurrency != ResultSet.CONCUR_READ_ONLY)
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.INVALID_VARIABLES);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.INVALID_VARIABLES);
|
||||||
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -252,7 +252,7 @@ public class RestfulConnection implements Connection {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
throw new SQLException(CONNECTION_IS_CLOSED);
|
throw new SQLException(CONNECTION_IS_CLOSED);
|
||||||
if (holdability != ResultSet.HOLD_CURSORS_OVER_COMMIT)
|
if (holdability != ResultSet.HOLD_CURSORS_OVER_COMMIT)
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -269,7 +269,7 @@ public class RestfulConnection implements Connection {
|
||||||
if (getAutoCommit())
|
if (getAutoCommit())
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
||||||
//nothing to do
|
//nothing to do
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -279,7 +279,7 @@ public class RestfulConnection implements Connection {
|
||||||
if (getAutoCommit())
|
if (getAutoCommit())
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
||||||
//nothing to do
|
//nothing to do
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -289,68 +289,68 @@ public class RestfulConnection implements Connection {
|
||||||
if (getAutoCommit())
|
if (getAutoCommit())
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
||||||
//nothing to do
|
//nothing to do
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void releaseSavepoint(Savepoint savepoint) throws SQLException {
|
public void releaseSavepoint(Savepoint savepoint) throws SQLException {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
throw new SQLException(CONNECTION_IS_CLOSED);
|
throw new SQLException(CONNECTION_IS_CLOSED);
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
||||||
if (resultSetHoldability != ResultSet.HOLD_CURSORS_OVER_COMMIT)
|
if (resultSetHoldability != ResultSet.HOLD_CURSORS_OVER_COMMIT)
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
return createStatement(resultSetType, resultSetConcurrency);
|
return createStatement(resultSetType, resultSetConcurrency);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
||||||
if (resultSetHoldability != ResultSet.HOLD_CURSORS_OVER_COMMIT)
|
if (resultSetHoldability != ResultSet.HOLD_CURSORS_OVER_COMMIT)
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
return prepareStatement(sql, resultSetType, resultSetConcurrency);
|
return prepareStatement(sql, resultSetType, resultSetConcurrency);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
|
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
|
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
|
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Clob createClob() throws SQLException {
|
public Clob createClob() throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Blob createBlob() throws SQLException {
|
public Blob createBlob() throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NClob createNClob() throws SQLException {
|
public NClob createNClob() throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLXML createSQLXML() throws SQLException {
|
public SQLXML createSQLXML() throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -399,12 +399,12 @@ public class RestfulConnection implements Connection {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
|
public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
|
public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -442,7 +442,7 @@ public class RestfulConnection implements Connection {
|
||||||
public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
|
public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
throw new SQLException(CONNECTION_IS_CLOSED);
|
throw new SQLException(CONNECTION_IS_CLOSED);
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORTED_METHOD_EXCEPTION_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.taosdata.jdbc.rs;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.taosdata.jdbc.AbstractTaosDriver;
|
import com.taosdata.jdbc.AbstractDriver;
|
||||||
import com.taosdata.jdbc.TSDBConstants;
|
import com.taosdata.jdbc.TSDBConstants;
|
||||||
import com.taosdata.jdbc.TSDBDriver;
|
import com.taosdata.jdbc.TSDBDriver;
|
||||||
import com.taosdata.jdbc.rs.util.HttpClientPoolUtil;
|
import com.taosdata.jdbc.rs.util.HttpClientPoolUtil;
|
||||||
|
@ -11,7 +11,7 @@ import java.sql.*;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class RestfulDriver extends AbstractTaosDriver {
|
public class RestfulDriver extends AbstractDriver {
|
||||||
|
|
||||||
private static final String URL_PREFIX = "jdbc:TAOS-RS://";
|
private static final String URL_PREFIX = "jdbc:TAOS-RS://";
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,6 +2,7 @@ package com.taosdata.jdbc.rs;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.taosdata.jdbc.AbstractStatement;
|
||||||
import com.taosdata.jdbc.TSDBConstants;
|
import com.taosdata.jdbc.TSDBConstants;
|
||||||
import com.taosdata.jdbc.rs.util.HttpClientPoolUtil;
|
import com.taosdata.jdbc.rs.util.HttpClientPoolUtil;
|
||||||
import com.taosdata.jdbc.utils.SqlSyntaxValidator;
|
import com.taosdata.jdbc.utils.SqlSyntaxValidator;
|
||||||
|
@ -12,7 +13,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class RestfulStatement implements Statement {
|
public class RestfulStatement extends AbstractStatement {
|
||||||
|
|
||||||
private boolean closed;
|
private boolean closed;
|
||||||
private String database;
|
private String database;
|
||||||
|
@ -20,7 +21,6 @@ public class RestfulStatement implements Statement {
|
||||||
|
|
||||||
private volatile RestfulResultSet resultSet;
|
private volatile RestfulResultSet resultSet;
|
||||||
private volatile int affectedRows;
|
private volatile int affectedRows;
|
||||||
private volatile boolean closeOnCompletion;
|
|
||||||
|
|
||||||
public RestfulStatement(RestfulConnection conn, String database) {
|
public RestfulStatement(RestfulConnection conn, String database) {
|
||||||
this.conn = conn;
|
this.conn = conn;
|
||||||
|
@ -104,85 +104,6 @@ public class RestfulStatement implements Statement {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getMaxFieldSize() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return TSDBConstants.maxFieldSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setMaxFieldSize(int max) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
if (max < 0)
|
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
|
||||||
// nothing to do
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getMaxRows() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setMaxRows(int max) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
if (max < 0)
|
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
|
||||||
// nothing to do
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setEscapeProcessing(boolean enable) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getQueryTimeout() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setQueryTimeout(int seconds) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
if (seconds < 0)
|
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void cancel() throws SQLException {
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SQLWarning getWarnings() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void clearWarnings() throws SQLException {
|
|
||||||
// nothing to do
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setCursorName(String name) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
throw new SQLException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(String sql) throws SQLException {
|
public boolean execute(String sql) throws SQLException {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
|
@ -271,53 +192,6 @@ public class RestfulStatement implements Statement {
|
||||||
return this.affectedRows;
|
return this.affectedRows;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getMoreResults() throws SQLException {
|
|
||||||
return getMoreResults(CLOSE_CURRENT_RESULT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setFetchDirection(int direction) throws SQLException {
|
|
||||||
if (direction != ResultSet.FETCH_FORWARD && direction != ResultSet.FETCH_REVERSE && direction != ResultSet.FETCH_UNKNOWN)
|
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
|
||||||
this.resultSet.setFetchDirection(direction);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getFetchDirection() throws SQLException {
|
|
||||||
return this.resultSet.getFetchDirection();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setFetchSize(int rows) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
if (rows < 0)
|
|
||||||
throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
|
||||||
//nothing to do
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getFetchSize() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getResultSetConcurrency() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return this.resultSet.getConcurrency();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getResultSetType() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return this.resultSet.getType();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addBatch(String sql) throws SQLException {
|
public void addBatch(String sql) throws SQLException {
|
||||||
if (isClosed())
|
if (isClosed())
|
||||||
|
@ -343,115 +217,10 @@ public class RestfulStatement implements Statement {
|
||||||
return this.conn;
|
return this.conn;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getMoreResults(int current) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
if (resultSet == null)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// switch (current) {
|
|
||||||
// case CLOSE_CURRENT_RESULT:
|
|
||||||
// resultSet.close();
|
|
||||||
// break;
|
|
||||||
// case KEEP_CURRENT_RESULT:
|
|
||||||
// break;
|
|
||||||
// case CLOSE_ALL_RESULTS:
|
|
||||||
// resultSet.close();
|
|
||||||
// break;
|
|
||||||
// default:
|
|
||||||
// throw new SQLException(TSDBConstants.INVALID_VARIABLES);
|
|
||||||
// }
|
|
||||||
// return next;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ResultSet getGeneratedKeys() throws SQLException {
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int executeUpdate(String sql, String[] columnNames) throws SQLException {
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean execute(String sql, int[] columnIndexes) throws SQLException {
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean execute(String sql, String[] columnNames) throws SQLException {
|
|
||||||
throw new SQLFeatureNotSupportedException(TSDBConstants.UNSUPPORT_METHOD_EXCEPTIONZ_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getResultSetHoldability() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return this.resultSet.getHoldability();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isClosed() throws SQLException {
|
public boolean isClosed() throws SQLException {
|
||||||
return closed;
|
return closed;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setPoolable(boolean poolable) throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
//nothing to do
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isPoolable() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeOnCompletion() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
this.closeOnCompletion = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isCloseOnCompletion() throws SQLException {
|
|
||||||
if (isClosed())
|
|
||||||
throw new SQLException(TSDBConstants.STATEMENT_CLOSED);
|
|
||||||
return this.closeOnCompletion;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public <T> T unwrap(Class<T> iface) throws SQLException {
|
|
||||||
try {
|
|
||||||
return iface.cast(this);
|
|
||||||
} catch (ClassCastException cce) {
|
|
||||||
throw new SQLException("Unable to unwrap to " + iface.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isWrapperFor(Class<?> iface) throws SQLException {
|
|
||||||
return iface.isInstance(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import org.junit.Test;
|
||||||
|
|
||||||
import javax.sql.rowset.serial.SerialBlob;
|
import javax.sql.rowset.serial.SerialBlob;
|
||||||
import javax.sql.rowset.serial.SerialClob;
|
import javax.sql.rowset.serial.SerialClob;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
@ -39,7 +40,6 @@ public class ResultSetTest {
|
||||||
} catch (ClassNotFoundException | SQLException e) {
|
} catch (ClassNotFoundException | SQLException e) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -54,51 +54,38 @@ public class ResultSetTest {
|
||||||
short v6 = 12;
|
short v6 = 12;
|
||||||
boolean v7 = false;
|
boolean v7 = false;
|
||||||
String v8 = "TDengine is powerful";
|
String v8 = "TDengine is powerful";
|
||||||
|
|
||||||
sql = "insert into " + dbName + "." + tName + " values (" + ts + "," + v1 + "," + v2 + "," + v3 + "," + v4
|
sql = "insert into " + dbName + "." + tName + " values (" + ts + "," + v1 + "," + v2 + "," + v3 + "," + v4
|
||||||
+ ",\"" + v5 + "\"," + v6 + "," + v7 + ",\"" + v8 + "\")";
|
+ ",\"" + v5 + "\"," + v6 + "," + v7 + ",\"" + v8 + "\")";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
statement.executeUpdate(sql);
|
statement.executeUpdate(sql);
|
||||||
assertEquals(1, statement.getUpdateCount());
|
assertEquals(1, statement.getUpdateCount());
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
assert false : "insert error " + e.getMessage();
|
assert false : "insert error " + e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
statement.executeQuery("select * from " + dbName + "." + tName + " where ts = " + ts);
|
statement.execute("select * from " + dbName + "." + tName + " where ts = " + ts);
|
||||||
resSet = statement.getResultSet();
|
resSet = statement.getResultSet();
|
||||||
System.out.println(((TSDBResultSet) resSet).getRowData());
|
System.out.println(((TSDBResultSet) resSet).getRowData());
|
||||||
while (resSet.next()) {
|
while (resSet.next()) {
|
||||||
assertEquals(ts, resSet.getLong(1));
|
assertEquals(ts, resSet.getLong(1));
|
||||||
assertEquals(ts, resSet.getLong("ts"));
|
assertEquals(ts, resSet.getLong("ts"));
|
||||||
|
|
||||||
System.out.println(resSet.getTimestamp(1));
|
System.out.println(resSet.getTimestamp(1));
|
||||||
|
|
||||||
assertEquals(v1, resSet.getInt(2));
|
assertEquals(v1, resSet.getInt(2));
|
||||||
assertEquals(v1, resSet.getInt("k1"));
|
assertEquals(v1, resSet.getInt("k1"));
|
||||||
|
|
||||||
assertEquals(v2, resSet.getLong(3));
|
assertEquals(v2, resSet.getLong(3));
|
||||||
assertEquals(v2, resSet.getLong("k2"));
|
assertEquals(v2, resSet.getLong("k2"));
|
||||||
|
|
||||||
assertEquals(v3, resSet.getFloat(4), 7);
|
assertEquals(v3, resSet.getFloat(4), 7);
|
||||||
assertEquals(v3, resSet.getFloat("k3"), 7);
|
assertEquals(v3, resSet.getFloat("k3"), 7);
|
||||||
|
|
||||||
assertEquals(v4, resSet.getDouble(5), 13);
|
assertEquals(v4, resSet.getDouble(5), 13);
|
||||||
assertEquals(v4, resSet.getDouble("k4"), 13);
|
assertEquals(v4, resSet.getDouble("k4"), 13);
|
||||||
|
|
||||||
assertEquals(v5, resSet.getString(6));
|
assertEquals(v5, resSet.getString(6));
|
||||||
assertEquals(v5, resSet.getString("k5"));
|
assertEquals(v5, resSet.getString("k5"));
|
||||||
|
|
||||||
assertEquals(v6, resSet.getShort(7));
|
assertEquals(v6, resSet.getShort(7));
|
||||||
assertEquals(v6, resSet.getShort("k6"));
|
assertEquals(v6, resSet.getShort("k6"));
|
||||||
|
|
||||||
assertEquals(v7, resSet.getBoolean(8));
|
assertEquals(v7, resSet.getBoolean(8));
|
||||||
assertEquals(v7, resSet.getBoolean("k7"));
|
assertEquals(v7, resSet.getBoolean("k7"));
|
||||||
|
|
||||||
assertEquals(v8, resSet.getString(9));
|
assertEquals(v8, resSet.getString(9));
|
||||||
assertEquals(v8, resSet.getString("k8"));
|
assertEquals(v8, resSet.getString("k8"));
|
||||||
|
|
||||||
resSet.getBytes(9);
|
resSet.getBytes(9);
|
||||||
resSet.getObject(6);
|
resSet.getObject(6);
|
||||||
resSet.getObject("k8");
|
resSet.getObject("k8");
|
||||||
|
@ -111,684 +98,145 @@ public class ResultSetTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test(expected = SQLException.class)
|
||||||
public void testUnsupport() throws SQLException {
|
public void testUnsupport() throws SQLException, UnsupportedEncodingException {
|
||||||
statement.executeQuery("show databases");
|
statement.execute("show databases");
|
||||||
resSet = statement.getResultSet();
|
resSet = statement.getResultSet();
|
||||||
Assert.assertNotNull(resSet.unwrap(TSDBResultSet.class));
|
Assert.assertNotNull(resSet.unwrap(TSDBResultSet.class));
|
||||||
Assert.assertTrue(resSet.isWrapperFor(TSDBResultSet.class));
|
Assert.assertTrue(resSet.isWrapperFor(TSDBResultSet.class));
|
||||||
try {
|
resSet.getUnicodeStream(null);
|
||||||
resSet.getAsciiStream(0);
|
resSet.getBinaryStream(null);
|
||||||
} catch (SQLException e) {
|
resSet.getAsciiStream("");
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getUnicodeStream(null);
|
||||||
}
|
resSet.getBinaryStream(null);
|
||||||
try {
|
resSet.getWarnings();
|
||||||
resSet.getUnicodeStream(null);
|
resSet.clearWarnings();
|
||||||
} catch (SQLException e) {
|
resSet.getCursorName();
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getCharacterStream(null);
|
||||||
}
|
resSet.getCharacterStream(null);
|
||||||
try {
|
resSet.isBeforeFirst();
|
||||||
resSet.getBinaryStream(null);
|
resSet.isAfterLast();
|
||||||
} catch (SQLException e) {
|
resSet.isFirst();
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.isLast();
|
||||||
}
|
resSet.beforeFirst();
|
||||||
try {
|
resSet.afterLast();
|
||||||
resSet.getAsciiStream("");
|
resSet.first();
|
||||||
} catch (SQLException e) {
|
resSet.last();
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getRow();
|
||||||
}
|
resSet.absolute(1);
|
||||||
try {
|
resSet.relative(1);
|
||||||
resSet.getUnicodeStream(null);
|
resSet.previous();
|
||||||
} catch (SQLException e) {
|
resSet.setFetchDirection(0);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getFetchDirection();
|
||||||
}
|
resSet.setFetchSize(0);
|
||||||
try {
|
resSet.getFetchSize();
|
||||||
resSet.getBinaryStream(null);
|
resSet.getConcurrency();
|
||||||
} catch (SQLException e) {
|
resSet.rowUpdated();
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.rowInserted();
|
||||||
}
|
resSet.rowDeleted();
|
||||||
try {
|
resSet.updateNull(null);
|
||||||
resSet.getWarnings();
|
resSet.updateBoolean(0, true);
|
||||||
} catch (SQLException e) {
|
resSet.updateByte(0, (byte) 2);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateShort(0, (short) 1);
|
||||||
}
|
resSet.updateInt(0, 0);
|
||||||
try {
|
resSet.updateLong(0, 0l);
|
||||||
resSet.clearWarnings();
|
resSet.updateFloat(0, 3.14f);
|
||||||
} catch (SQLException e) {
|
resSet.updateDouble(0, 3.1415);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateBigDecimal(null, null);
|
||||||
}
|
resSet.updateString(null, null);
|
||||||
try {
|
resSet.updateBytes(null, null);
|
||||||
resSet.getCursorName();
|
resSet.updateDate(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.updateTime(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateTimestamp(null, null);
|
||||||
}
|
resSet.updateAsciiStream(null, null);
|
||||||
try {
|
resSet.updateBinaryStream(null, null);
|
||||||
resSet.getCharacterStream(null);
|
resSet.updateCharacterStream(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.updateObject(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateObject(null, null);
|
||||||
}
|
resSet.updateNull(null);
|
||||||
try {
|
resSet.updateBoolean("", false);
|
||||||
resSet.getCharacterStream(null);
|
resSet.updateByte("", (byte) 1);
|
||||||
} catch (SQLException e) {
|
resSet.updateShort("", (short) 1);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateInt("", 0);
|
||||||
}
|
resSet.updateLong("", 0l);
|
||||||
try {
|
resSet.updateFloat("", 3.14f);
|
||||||
resSet.isBeforeFirst();
|
resSet.updateDouble("", 3.1415);
|
||||||
} catch (SQLException e) {
|
resSet.updateBigDecimal(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateString(null, null);
|
||||||
}
|
resSet.updateBytes(null, null);
|
||||||
try {
|
resSet.updateDate(null, null);
|
||||||
resSet.isAfterLast();
|
resSet.updateTime(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.updateTimestamp(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateAsciiStream(null, null);
|
||||||
}
|
resSet.updateBinaryStream(null, null);
|
||||||
try {
|
resSet.updateCharacterStream(null, null);
|
||||||
resSet.isFirst();
|
resSet.updateObject(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.updateObject(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.insertRow();
|
||||||
}
|
resSet.updateRow();
|
||||||
try {
|
resSet.deleteRow();
|
||||||
resSet.isLast();
|
resSet.refreshRow();
|
||||||
} catch (SQLException e) {
|
resSet.cancelRowUpdates();
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.moveToInsertRow();
|
||||||
}
|
resSet.moveToCurrentRow();
|
||||||
try {
|
resSet.getStatement();
|
||||||
resSet.beforeFirst();
|
resSet.getObject(0, new HashMap<>());
|
||||||
} catch (SQLException e) {
|
resSet.getRef(null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getBlob(null);
|
||||||
}
|
resSet.getClob(null);
|
||||||
try {
|
resSet.getArray(null);
|
||||||
resSet.afterLast();
|
resSet.getObject("", new HashMap<>());
|
||||||
} catch (SQLException e) {
|
resSet.getRef(null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getBlob(null);
|
||||||
}
|
resSet.getClob(null);
|
||||||
try {
|
resSet.getArray(null);
|
||||||
resSet.first();
|
resSet.getDate(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.getDate(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getTime(null, null);
|
||||||
}
|
resSet.getTime(null, null);
|
||||||
try {
|
resSet.getTimestamp(null, null);
|
||||||
resSet.last();
|
resSet.getTimestamp(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.getURL(null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getURL(null);
|
||||||
}
|
resSet.updateRef(null, null);
|
||||||
try {
|
resSet.updateRef(null, null);
|
||||||
resSet.getRow();
|
resSet.updateBlob(0, new SerialBlob("".getBytes("UTF8")));
|
||||||
} catch (SQLException e) {
|
resSet.updateBlob("", new SerialBlob("".getBytes("UTF8")));
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateClob("", new SerialClob("".toCharArray()));
|
||||||
}
|
resSet.updateClob(0, new SerialClob("".toCharArray()));
|
||||||
try {
|
resSet.updateArray(null, null);
|
||||||
resSet.absolute(1);
|
resSet.updateArray(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.getRowId(null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.getRowId(null);
|
||||||
}
|
resSet.updateRowId(null, null);
|
||||||
try {
|
resSet.updateRowId(null, null);
|
||||||
resSet.relative(1);
|
resSet.getHoldability();
|
||||||
} catch (SQLException e) {
|
resSet.updateNString(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateNString(null, null);
|
||||||
}
|
resSet.getNClob(null);
|
||||||
try {
|
resSet.getNClob(null);
|
||||||
resSet.previous();
|
resSet.getSQLXML(null);
|
||||||
} catch (SQLException e) {
|
resSet.getSQLXML(null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateSQLXML(null, null);
|
||||||
}
|
resSet.updateSQLXML(null, null);
|
||||||
try {
|
resSet.getNCharacterStream(null);
|
||||||
resSet.setFetchDirection(0);
|
resSet.getNCharacterStream(null);
|
||||||
} catch (SQLException e) {
|
resSet.updateNCharacterStream(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateNCharacterStream(null, null);
|
||||||
}
|
resSet.updateAsciiStream(null, null);
|
||||||
try {
|
resSet.updateBinaryStream(null, null);
|
||||||
resSet.getFetchDirection();
|
resSet.updateCharacterStream(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.updateAsciiStream(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateBinaryStream(null, null);
|
||||||
}
|
resSet.updateCharacterStream(null, null);
|
||||||
try {
|
resSet.updateNCharacterStream(null, null);
|
||||||
resSet.setFetchSize(0);
|
resSet.updateNCharacterStream(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.updateAsciiStream(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
resSet.updateBinaryStream(null, null);
|
||||||
}
|
resSet.updateCharacterStream(null, null);
|
||||||
try {
|
resSet.updateAsciiStream(null, null);
|
||||||
resSet.getFetchSize();
|
resSet.updateBinaryStream(null, null);
|
||||||
} catch (SQLException e) {
|
resSet.updateCharacterStream(null, null);
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getConcurrency();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.rowUpdated();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.rowInserted();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.rowDeleted();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateNull(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBoolean(0, true);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateByte(0, (byte) 2);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateShort(0, (short) 1);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateInt(0, 0);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateLong(0, 0l);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateFloat(0, 3.14f);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateDouble(0, 3.1415);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBigDecimal(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateString(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBytes(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateDate(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateTime(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateTimestamp(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateAsciiStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBinaryStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateObject(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateObject(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateNull(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBoolean("", false);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateByte("", (byte) 1);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateShort("", (short) 1);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateInt("", 0);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateLong("", 0l);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateFloat("", 3.14f);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateDouble("", 3.1415);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBigDecimal(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateString(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBytes(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateDate(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateTime(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateTimestamp(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateAsciiStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBinaryStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateObject(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateObject(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.insertRow();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateRow();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.deleteRow();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.refreshRow();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.cancelRowUpdates();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.moveToInsertRow();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.moveToCurrentRow();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getStatement();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getObject(0, new HashMap<>());
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getRef(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getBlob(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getClob(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getArray(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getObject("", new HashMap<>());
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getRef(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getBlob(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getClob(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getArray(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getDate(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getDate(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getTime(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getTime(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getTimestamp(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getTimestamp(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getURL(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getURL(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateRef(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateRef(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBlob(0, new SerialBlob("".getBytes("UTF8")));
|
|
||||||
} catch (Exception e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBlob("", new SerialBlob("".getBytes("UTF8")));
|
|
||||||
} catch (Exception e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateClob("", new SerialClob("".toCharArray()));
|
|
||||||
} catch (Exception e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateClob(0, new SerialClob("".toCharArray()));
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateArray(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateArray(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getRowId(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getRowId(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateRowId(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateRowId(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getHoldability();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateNString(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateNString(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
resSet.getNClob(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getNClob(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getSQLXML(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getSQLXML(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateSQLXML(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateSQLXML(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getNCharacterStream(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.getNCharacterStream(null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateNCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateNCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateAsciiStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBinaryStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateAsciiStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBinaryStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
resSet.updateNCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateNCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateAsciiStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBinaryStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateAsciiStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateBinaryStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
resSet.updateCharacterStream(null, null);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
assertTrue(e.getMessage().contains("this operation is NOT supported currently!"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -816,5 +264,4 @@ public class ResultSetTest {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,9 +8,6 @@ import org.junit.Test;
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
public class StatementTest {
|
public class StatementTest {
|
||||||
static Connection connection = null;
|
static Connection connection = null;
|
||||||
static Statement statement = null;
|
static Statement statement = null;
|
||||||
|
@ -58,12 +55,12 @@ public class StatementTest {
|
||||||
statement.executeUpdate("create database if not exists " + dbName);
|
statement.executeUpdate("create database if not exists " + dbName);
|
||||||
statement.executeUpdate("create table if not exists " + dbName + "." + tName + "(ts timestamp, k1 int)");
|
statement.executeUpdate("create table if not exists " + dbName + "." + tName + "(ts timestamp, k1 int)");
|
||||||
statement.executeUpdate("insert into " + dbName + "." + tName + " values (" + ts + ", 1)");
|
statement.executeUpdate("insert into " + dbName + "." + tName + " values (" + ts + ", 1)");
|
||||||
statement.executeQuery("select * from " + dbName + "." + tName);
|
statement.execute("select * from " + dbName + "." + tName);
|
||||||
ResultSet resultSet = statement.getResultSet();
|
ResultSet resultSet = statement.getResultSet();
|
||||||
assertTrue(null != resultSet);
|
Assert.assertNotNull(resultSet);
|
||||||
|
|
||||||
boolean isClosed = statement.isClosed();
|
boolean isClosed = statement.isClosed();
|
||||||
assertEquals(false, isClosed);
|
Assert.assertEquals(false, isClosed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = SQLException.class)
|
@Test(expected = SQLException.class)
|
||||||
|
|
|
@ -9,13 +9,14 @@ import java.sql.DriverManager;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public class SubscribeTest {
|
public class SubscribeTest {
|
||||||
Connection connection;
|
Connection connection;
|
||||||
Statement statement;
|
Statement statement;
|
||||||
String dbName = "test";
|
String dbName = "test";
|
||||||
String tName = "t0";
|
String tName = "t0";
|
||||||
String host = "localhost";
|
String host = "127.0.0.1";
|
||||||
String topic = "test";
|
String topic = "test";
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
|
@ -23,15 +24,15 @@ public class SubscribeTest {
|
||||||
try {
|
try {
|
||||||
Class.forName("com.taosdata.jdbc.TSDBDriver");
|
Class.forName("com.taosdata.jdbc.TSDBDriver");
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
properties.setProperty(TSDBDriver.PROPERTY_KEY_HOST, host);
|
|
||||||
properties.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
|
properties.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
|
||||||
properties.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
|
properties.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
|
||||||
properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
|
properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
|
||||||
connection = DriverManager.getConnection("jdbc:TAOS://" + host + ":0/", properties);
|
connection = DriverManager.getConnection("jdbc:TAOS://" + host + ":0/", properties);
|
||||||
|
|
||||||
statement = connection.createStatement();
|
statement = connection.createStatement();
|
||||||
statement.executeUpdate("create database if not exists " + dbName);
|
statement.execute("drop database if exists " + dbName);
|
||||||
statement.executeUpdate("create table if not exists " + dbName + "." + tName + " (ts timestamp, k int, v int)");
|
statement.execute("create database if not exists " + dbName);
|
||||||
|
statement.execute("create table if not exists " + dbName + "." + tName + " (ts timestamp, k int, v int)");
|
||||||
long ts = System.currentTimeMillis();
|
long ts = System.currentTimeMillis();
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
ts += i;
|
ts += i;
|
||||||
|
@ -45,44 +46,40 @@ public class SubscribeTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void subscribe() throws Exception {
|
public void subscribe() {
|
||||||
TSDBSubscribe subscribe = null;
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
String rawSql = "select * from " + dbName + "." + tName + ";";
|
String rawSql = "select * from " + dbName + "." + tName + ";";
|
||||||
System.out.println(rawSql);
|
System.out.println(rawSql);
|
||||||
subscribe = ((TSDBConnection) connection).subscribe(topic, rawSql, false);
|
TSDBSubscribe subscribe = ((TSDBConnection) connection).subscribe(topic, rawSql, false);
|
||||||
|
|
||||||
int a = 0;
|
int a = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
Thread.sleep(900);
|
TimeUnit.MILLISECONDS.sleep(1000);
|
||||||
TSDBResultSet resSet = subscribe.consume();
|
TSDBResultSet resSet = subscribe.consume();
|
||||||
|
|
||||||
while (resSet.next()) {
|
while (resSet.next()) {
|
||||||
for (int i = 1; i <= resSet.getMetaData().getColumnCount(); i++) {
|
for (int i = 1; i <= resSet.getMetaData().getColumnCount(); i++) {
|
||||||
System.out.printf(i + ": " + resSet.getString(i) + "\t");
|
System.out.printf(i + ": " + resSet.getString(i) + "\t");
|
||||||
}
|
}
|
||||||
System.out.println("\n======" + a + "==========");
|
System.out.println("\n======" + a + "==========");
|
||||||
}
|
}
|
||||||
resSet.close();
|
|
||||||
a++;
|
a++;
|
||||||
if (a >= 2) {
|
if (a >= 2) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// resSet.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
subscribe.close(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} finally {
|
|
||||||
if (null != subscribe) {
|
|
||||||
subscribe.close(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
public void close() {
|
public void close() {
|
||||||
try {
|
try {
|
||||||
statement.executeQuery("drop database " + dbName);
|
statement.execute("drop database " + dbName);
|
||||||
if (statement != null)
|
if (statement != null)
|
||||||
statement.close();
|
statement.close();
|
||||||
if (connection != null)
|
if (connection != null)
|
||||||
|
|
|
@ -0,0 +1,234 @@
|
||||||
|
package com.taosdata.jdbc;
|
||||||
|
|
||||||
|
import org.junit.AfterClass;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.sql.*;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class TSDBStatementTest {
|
||||||
|
private static final String host = "127.0.0.1";
|
||||||
|
private static Connection conn;
|
||||||
|
private static Statement stmt;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void executeQuery() {
|
||||||
|
try {
|
||||||
|
ResultSet rs = stmt.executeQuery("show databases");
|
||||||
|
Assert.assertNotNull(rs);
|
||||||
|
ResultSetMetaData meta = rs.getMetaData();
|
||||||
|
while (rs.next()) {
|
||||||
|
for (int i = 1; i <= meta.getColumnCount(); i++) {
|
||||||
|
System.out.print(meta.getColumnLabel(i) + ": " + rs.getString(i) + "\t");
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void executeUpdate() {
|
||||||
|
final String dbName = ("test_" + UUID.randomUUID()).replace("-", "_").substring(0, 32);
|
||||||
|
try {
|
||||||
|
int affectRows = stmt.executeUpdate("create database " + dbName);
|
||||||
|
Assert.assertEquals(0, affectRows);
|
||||||
|
affectRows = stmt.executeUpdate("create table " + dbName + ".weather(ts timestamp, temperature float) tags(loc nchar(64))");
|
||||||
|
Assert.assertEquals(0, affectRows);
|
||||||
|
affectRows = stmt.executeUpdate("insert into " + dbName + ".t1 using " + dbName + ".weather tags('北京') values(now, 22.33)");
|
||||||
|
Assert.assertEquals(1, affectRows);
|
||||||
|
affectRows = stmt.executeUpdate("drop database " + dbName);
|
||||||
|
Assert.assertEquals(0, affectRows);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void close() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void execute() {
|
||||||
|
final String dbName = ("test_" + UUID.randomUUID()).replace("-", "_").substring(0, 32);
|
||||||
|
try {
|
||||||
|
boolean isSelect = stmt.execute("create database " + dbName);
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
int affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(0, affectedRows);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("create table " + dbName + ".weather(ts timestamp, temperature float) tags(loc nchar(64))");
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(0, affectedRows);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("insert into " + dbName + ".t1 using " + dbName + ".weather tags('北京') values(now, 22.33)");
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(1, affectedRows);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("select * from " + dbName + ".weather");
|
||||||
|
Assert.assertEquals(true, isSelect);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("drop database " + dbName);
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(0, affectedRows);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getResultSet() {
|
||||||
|
final String dbName = ("test_" + UUID.randomUUID()).replace("-", "_").substring(0, 32);
|
||||||
|
try {
|
||||||
|
boolean isSelect = stmt.execute("create database " + dbName);
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
int affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(0, affectedRows);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("create table " + dbName + ".weather(ts timestamp, temperature float) tags(loc nchar(64))");
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(0, affectedRows);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("insert into " + dbName + ".t1 using " + dbName + ".weather tags('北京') values(now, 22.33)");
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(1, affectedRows);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("select * from " + dbName + ".weather");
|
||||||
|
Assert.assertEquals(true, isSelect);
|
||||||
|
ResultSet rs = stmt.getResultSet();
|
||||||
|
Assert.assertNotNull(rs);
|
||||||
|
ResultSetMetaData meta = rs.getMetaData();
|
||||||
|
Assert.assertEquals(3, meta.getColumnCount());
|
||||||
|
int count = 0;
|
||||||
|
while (rs.next()) {
|
||||||
|
for (int i = 1; i <= meta.getColumnCount(); i++) {
|
||||||
|
System.out.print(meta.getColumnLabel(i) + ": " + rs.getString(i) + "\t");
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
Assert.assertEquals(1, count);
|
||||||
|
|
||||||
|
isSelect = stmt.execute("drop database " + dbName);
|
||||||
|
Assert.assertEquals(false, isSelect);
|
||||||
|
affectedRows = stmt.getUpdateCount();
|
||||||
|
Assert.assertEquals(0, affectedRows);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getUpdateCount() {
|
||||||
|
execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void addBatch() {
|
||||||
|
final String dbName = ("test_" + UUID.randomUUID()).replace("-", "_").substring(0, 32);
|
||||||
|
try {
|
||||||
|
stmt.addBatch("create database " + dbName);
|
||||||
|
stmt.addBatch("create table " + dbName + ".weather(ts timestamp, temperature float) tags(loc nchar(64))");
|
||||||
|
stmt.addBatch("insert into " + dbName + ".t1 using " + dbName + ".weather tags('北京') values(now, 22.33)");
|
||||||
|
stmt.addBatch("select * from " + dbName + ".weather");
|
||||||
|
stmt.addBatch("drop database " + dbName);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void clearBatch() {
|
||||||
|
final String dbName = ("test_" + UUID.randomUUID()).replace("-", "_").substring(0, 32);
|
||||||
|
try {
|
||||||
|
stmt.clearBatch();
|
||||||
|
stmt.addBatch("create database " + dbName);
|
||||||
|
stmt.addBatch("create table " + dbName + ".weather(ts timestamp, temperature float) tags(loc nchar(64))");
|
||||||
|
stmt.addBatch("insert into " + dbName + ".t1 using " + dbName + ".weather tags('北京') values(now, 22.33)");
|
||||||
|
stmt.addBatch("select * from " + dbName + ".weather");
|
||||||
|
stmt.addBatch("drop database " + dbName);
|
||||||
|
stmt.clearBatch();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void executeBatch() {
|
||||||
|
final String dbName = ("test_" + UUID.randomUUID()).replace("-", "_").substring(0, 32);
|
||||||
|
try {
|
||||||
|
stmt.addBatch("create database " + dbName);
|
||||||
|
stmt.addBatch("create table " + dbName + ".weather(ts timestamp, temperature float) tags(loc nchar(64))");
|
||||||
|
stmt.addBatch("insert into " + dbName + ".t1 using " + dbName + ".weather tags('北京') values(now, 22.33)");
|
||||||
|
stmt.addBatch("select * from " + dbName + ".weather");
|
||||||
|
stmt.addBatch("drop database " + dbName);
|
||||||
|
int[] results = stmt.executeBatch();
|
||||||
|
Assert.assertEquals(0, results[0]);
|
||||||
|
Assert.assertEquals(0, results[1]);
|
||||||
|
Assert.assertEquals(1, results[2]);
|
||||||
|
Assert.assertEquals(Statement.SUCCESS_NO_INFO, results[3]);
|
||||||
|
Assert.assertEquals(0, results[4]);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getConnection() {
|
||||||
|
try {
|
||||||
|
Connection connection = stmt.getConnection();
|
||||||
|
Assert.assertNotNull(connection);
|
||||||
|
Assert.assertTrue(this.conn == connection);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isClosed() {
|
||||||
|
try {
|
||||||
|
Assert.assertEquals(false, stmt.isClosed());
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void beforeClass() {
|
||||||
|
try {
|
||||||
|
Class.forName("com.taosdata.jdbc.TSDBDriver");
|
||||||
|
Properties properties = new Properties();
|
||||||
|
properties.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
|
||||||
|
properties.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
|
||||||
|
properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
|
||||||
|
conn = DriverManager.getConnection("jdbc:TAOS://" + host + ":6030/?user=root&password=taosdata", properties);
|
||||||
|
stmt = conn.createStatement();
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterClass
|
||||||
|
public static void afterClass() {
|
||||||
|
try {
|
||||||
|
if (stmt != null)
|
||||||
|
stmt.close();
|
||||||
|
if (conn != null)
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,187 @@
|
||||||
|
package com.taosdata.jdbc.cases;
|
||||||
|
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.sql.*;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
public class InvalidResultSetPointerTest {
|
||||||
|
|
||||||
|
private static String host = "127.0.0.1";
|
||||||
|
private static final String dbName = "test";
|
||||||
|
private static final String stbName = "stb";
|
||||||
|
private static final String tbName = "tb";
|
||||||
|
private static Connection connection;
|
||||||
|
private static int numOfSTb = 30000;
|
||||||
|
private static int numOfTb = 3;
|
||||||
|
private static int numOfThreads = 100;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() throws SQLException {
|
||||||
|
execute("drop database if exists " + dbName);
|
||||||
|
execute("create database if not exists " + dbName);
|
||||||
|
execute("use " + dbName);
|
||||||
|
createSTable();
|
||||||
|
createTable();
|
||||||
|
insert();
|
||||||
|
selectMultiThreading();
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void insert() {
|
||||||
|
for (int i = 0; i < numOfSTb; i++) {
|
||||||
|
for (int j = 0; j < numOfTb; j++) {
|
||||||
|
final String sql = "INSERT INTO " + dbName + "." + tbName + i + "_" + j + " (ts, temperature, humidity, name) values(now, 20.5, 34, \"" + i + "\")";
|
||||||
|
System.out.println(sql);
|
||||||
|
execute(sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createSTable() {
|
||||||
|
for (int i = 0; i < numOfSTb; i++) {
|
||||||
|
final String sql = "create table if not exists " + dbName + "." + stbName + i + " (ts timestamp, temperature float, humidity int, name BINARY(" + (i % 73 + 10) + ")) TAGS (tag1 INT)";
|
||||||
|
execute(sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createTable() {
|
||||||
|
for (int i = 0; i < numOfSTb; i++) {
|
||||||
|
for (int j = 0; j < numOfTb; j++) {
|
||||||
|
final String sql = "create table if not exists " + dbName + "." + tbName + i + "_" + j + " USING " + stbName + i + " TAGS(" + j + ")";
|
||||||
|
execute(sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void close() throws SQLException {
|
||||||
|
if (connection != null) {
|
||||||
|
this.connection.close();
|
||||||
|
System.out.println("connection closed.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void selectMultiThreading() {
|
||||||
|
int a = numOfSTb / numOfThreads;
|
||||||
|
if (a < 1) {
|
||||||
|
numOfThreads = numOfSTb;
|
||||||
|
a = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int b = 0;
|
||||||
|
if (numOfThreads != 0) {
|
||||||
|
b = numOfSTb % numOfThreads;
|
||||||
|
}
|
||||||
|
|
||||||
|
multiThreadingClass instance[] = new multiThreadingClass[numOfThreads];
|
||||||
|
|
||||||
|
int last = 0;
|
||||||
|
for (int i = 0; i < numOfThreads; i++) {
|
||||||
|
instance[i] = new multiThreadingClass();
|
||||||
|
instance[i].id = i;
|
||||||
|
instance[i].from = last;
|
||||||
|
if (i < b) {
|
||||||
|
instance[i].to = last + a;
|
||||||
|
} else {
|
||||||
|
instance[i].to = last + a - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
last = instance[i].to + 1;
|
||||||
|
instance[i].numOfTb = numOfTb;
|
||||||
|
instance[i].connection = connection;
|
||||||
|
instance[i].dbName = dbName;
|
||||||
|
instance[i].tbName = tbName;
|
||||||
|
instance[i].start();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < numOfThreads; i++) {
|
||||||
|
try {
|
||||||
|
instance[i].join();
|
||||||
|
} catch (InterruptedException ie) {
|
||||||
|
ie.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void beforeClass() {
|
||||||
|
try {
|
||||||
|
String url = "jdbc:TAOS://" + host + ":6030/?user=root&password=taosdata";
|
||||||
|
Class.forName("com.taosdata.jdbc.TSDBDriver");
|
||||||
|
Properties properties = new Properties();
|
||||||
|
properties.setProperty("charset", "UTF-8");
|
||||||
|
properties.setProperty("locale", "en_US.UTF-8");
|
||||||
|
properties.setProperty("timezone", "UTC-8");
|
||||||
|
System.out.println("get connection starting...");
|
||||||
|
connection = DriverManager.getConnection(url, properties);
|
||||||
|
if (connection != null)
|
||||||
|
System.out.println("[ OK ] Connection established.");
|
||||||
|
} catch (ClassNotFoundException | SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void execute(String sql) {
|
||||||
|
try (Statement statement = connection.createStatement()) {
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
statement.execute(sql);
|
||||||
|
long end = System.currentTimeMillis();
|
||||||
|
printSql(sql, (end - start));
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void printSql(String sql, long cost) {
|
||||||
|
System.out.println("time cost: " + cost + " ms, execute statement ====> " + sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void executeQuery(String sql) {
|
||||||
|
try (Statement statement = connection.createStatement()) {
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
ResultSet resultSet = statement.executeQuery(sql);
|
||||||
|
long end = System.currentTimeMillis();
|
||||||
|
printSql(sql, (end - start));
|
||||||
|
// printResult(resultSet);
|
||||||
|
resultSet.close();
|
||||||
|
statement.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class multiThreadingClass extends Thread {
|
||||||
|
public int id;
|
||||||
|
public int from, to;
|
||||||
|
public int numOfTb;
|
||||||
|
public Connection connection;
|
||||||
|
public String dbName;
|
||||||
|
public String tbName;
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
System.out.println("ID: " + id + " from: " + from + " to: " + to);
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
System.out.println("Thread " + id + " interrupted.");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = from; i < to; i++) {
|
||||||
|
for (int j = 0; j < numOfTb; j++) {
|
||||||
|
if (j % 1000 == 0) {
|
||||||
|
try {
|
||||||
|
System.out.print(id + "s.");
|
||||||
|
Thread.sleep(1);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
System.out.println("Thread " + id + " interrupted.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final String sql = "select last_row(humidity) from " + dbName + "." + tbName + i + "_" + j;
|
||||||
|
executeQuery(sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -259,10 +259,12 @@ public class RestfulResultSetTest {
|
||||||
rs.previous();
|
rs.previous();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = SQLException.class)
|
@Test
|
||||||
public void setFetchDirection() throws SQLException {
|
public void setFetchDirection() throws SQLException {
|
||||||
rs.setFetchDirection(ResultSet.FETCH_FORWARD);
|
rs.setFetchDirection(ResultSet.FETCH_FORWARD);
|
||||||
|
Assert.assertEquals(ResultSet.FETCH_FORWARD, rs.getFetchDirection());
|
||||||
rs.setFetchDirection(ResultSet.FETCH_UNKNOWN);
|
rs.setFetchDirection(ResultSet.FETCH_UNKNOWN);
|
||||||
|
Assert.assertEquals(ResultSet.FETCH_FORWARD, rs.getFetchDirection());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -270,14 +272,15 @@ public class RestfulResultSetTest {
|
||||||
Assert.assertEquals(ResultSet.FETCH_FORWARD, rs.getFetchDirection());
|
Assert.assertEquals(ResultSet.FETCH_FORWARD, rs.getFetchDirection());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = SQLException.class)
|
@Test
|
||||||
public void setFetchSize() throws SQLException {
|
public void setFetchSize() throws SQLException {
|
||||||
rs.setFetchSize(0);
|
rs.setFetchSize(0);
|
||||||
|
Assert.assertEquals(0, rs.getFetchSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getFetchSize() throws SQLException {
|
public void getFetchSize() throws SQLException {
|
||||||
Assert.assertEquals(1, rs.getFetchSize());
|
Assert.assertEquals(0, rs.getFetchSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -526,9 +529,12 @@ public class RestfulResultSetTest {
|
||||||
rs.updateSQLXML(1, null);
|
rs.updateSQLXML(1, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = SQLFeatureNotSupportedException.class)
|
@Test
|
||||||
public void getNString() throws SQLException {
|
public void getNString() throws SQLException {
|
||||||
rs.getNString("f1");
|
String f10 = rs.getNString("f10");
|
||||||
|
Assert.assertEquals("涛思数据", f10);
|
||||||
|
f10 = rs.getNString(10);
|
||||||
|
Assert.assertEquals("涛思数据", f10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = SQLFeatureNotSupportedException.class)
|
@Test(expected = SQLFeatureNotSupportedException.class)
|
||||||
|
|
Loading…
Reference in New Issue