Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
20d02799
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
20d02799
编写于
1月 16, 2021
作者:
H
huili
提交者:
GitHub
1月 16, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4919 from taosdata/test/TD-2695
Test/td 2695
上级
cad80fa9
00bc3617
变更
22
隐藏空白更改
内联
并排
Showing
22 changed file
with
1091 addition
and
384 deletion
+1091
-384
cmake/install.inc
cmake/install.inc
+1
-1
src/connector/jdbc/.classpath
src/connector/jdbc/.classpath
+0
-32
src/connector/jdbc/.project
src/connector/jdbc/.project
+0
-23
src/connector/jdbc/CMakeLists.txt
src/connector/jdbc/CMakeLists.txt
+1
-1
src/connector/jdbc/deploy-pom.xml
src/connector/jdbc/deploy-pom.xml
+1
-1
src/connector/jdbc/pom.xml
src/connector/jdbc/pom.xml
+2
-13
src/connector/jdbc/src/main/java/com/taosdata/jdbc/AbstractDatabaseMetaData.java
...main/java/com/taosdata/jdbc/AbstractDatabaseMetaData.java
+2
-2
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDatabaseMetaData.java
...src/main/java/com/taosdata/jdbc/TSDBDatabaseMetaData.java
+51
-43
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDriver.java
...ctor/jdbc/src/main/java/com/taosdata/jdbc/TSDBDriver.java
+1
-1
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBResultSet.java
...r/jdbc/src/main/java/com/taosdata/jdbc/TSDBResultSet.java
+1
-1
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java
...r/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java
+1
-1
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulDatabaseMetaData.java
...in/java/com/taosdata/jdbc/rs/RestfulDatabaseMetaData.java
+0
-1
src/connector/jdbc/src/test/java/com/taosdata/jdbc/DatabaseMetaDataTest.java
...src/test/java/com/taosdata/jdbc/DatabaseMetaDataTest.java
+0
-245
src/connector/jdbc/src/test/java/com/taosdata/jdbc/TSDBDatabaseMetaDataTest.java
...test/java/com/taosdata/jdbc/TSDBDatabaseMetaDataTest.java
+913
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/MultiThreadsWithSameStatmentTest.java
...taosdata/jdbc/cases/MultiThreadsWithSameStatmentTest.java
+91
-0
tests/examples/JDBC/taosdemo/readme.md
tests/examples/JDBC/taosdemo/readme.md
+4
-1
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/TaosDemoApplication.java
.../main/java/com/taosdata/taosdemo/TaosDemoApplication.java
+3
-5
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/DatabaseMapperImpl.java
...in/java/com/taosdata/taosdemo/dao/DatabaseMapperImpl.java
+4
-4
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SubTableMapperImpl.java
...in/java/com/taosdata/taosdemo/dao/SubTableMapperImpl.java
+5
-5
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SuperTableMapperImpl.java
.../java/com/taosdata/taosdemo/dao/SuperTableMapperImpl.java
+2
-2
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/TableMapperImpl.java
.../main/java/com/taosdata/taosdemo/dao/TableMapperImpl.java
+7
-1
tests/examples/JDBC/taosdemo/src/main/resources/log4j.properties
...xamples/JDBC/taosdemo/src/main/resources/log4j.properties
+1
-1
未找到文件。
cmake/install.inc
浏览文件 @
20d02799
...
...
@@ -32,7 +32,7 @@ ELSEIF (TD_WINDOWS)
#INSTALL(TARGETS taos RUNTIME DESTINATION driver)
#INSTALL(TARGETS shell RUNTIME DESTINATION .)
IF
(
TD_MVN_INSTALLED
)
INSTALL
(
FILES
$
{
LIBRARY_OUTPUT_PATH
}
/
taos
-
jdbcdriver
-
2.0.1
5
-
dist
.
jar
DESTINATION
connector
/
jdbc
)
INSTALL
(
FILES
$
{
LIBRARY_OUTPUT_PATH
}
/
taos
-
jdbcdriver
-
2.0.1
6
-
dist
.
jar
DESTINATION
connector
/
jdbc
)
ENDIF
()
ELSEIF
(
TD_DARWIN
)
SET
(
TD_MAKE_INSTALL_SH
"${TD_COMMUNITY_DIR}/packaging/tools/make_install.sh"
)
...
...
src/connector/jdbc/.classpath
已删除
100644 → 0
浏览文件 @
cad80fa9
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry
kind=
"src"
output=
"target/classes"
path=
"src/main/java"
>
<attributes>
<attribute
name=
"optional"
value=
"true"
/>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
excluding=
"**"
kind=
"src"
output=
"target/classes"
path=
"src/main/resources"
>
<attributes>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"src"
output=
"target/test-classes"
path=
"src/test/java"
>
<attributes>
<attribute
name=
"optional"
value=
"true"
/>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
<attribute
name=
"test"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"con"
path=
"org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"
>
<attributes>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"con"
path=
"org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"
>
<attributes>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"output"
path=
"target/classes"
/>
</classpath>
src/connector/jdbc/.project
已删除
100644 → 0
浏览文件 @
cad80fa9
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
taos-jdbcdriver
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
org.eclipse.jdt.core.javabuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.m2e.core.maven2Builder
</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
org.eclipse.jdt.core.javanature
</nature>
<nature>
org.eclipse.m2e.core.maven2Nature
</nature>
</natures>
</projectDescription>
src/connector/jdbc/CMakeLists.txt
浏览文件 @
20d02799
...
...
@@ -8,7 +8,7 @@ IF (TD_MVN_INSTALLED)
ADD_CUSTOM_COMMAND
(
OUTPUT
${
JDBC_CMD_NAME
}
POST_BUILD
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.1
5
-dist.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND
${
CMAKE_COMMAND
}
-E copy
${
CMAKE_CURRENT_SOURCE_DIR
}
/target/taos-jdbcdriver-2.0.1
6
-dist.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND mvn -Dmaven.test.skip=true clean -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMENT
"build jdbc driver"
)
ADD_CUSTOM_TARGET
(
${
JDBC_TARGET_NAME
}
ALL WORKING_DIRECTORY
${
EXECUTABLE_OUTPUT_PATH
}
DEPENDS
${
JDBC_CMD_NAME
}
)
...
...
src/connector/jdbc/deploy-pom.xml
浏览文件 @
20d02799
...
...
@@ -5,7 +5,7 @@
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
2.0.1
5
</version>
<version>
2.0.1
6
</version>
<packaging>
jar
</packaging>
<name>
JDBCDriver
</name>
...
...
src/connector/jdbc/pom.xml
浏览文件 @
20d02799
...
...
@@ -3,7 +3,7 @@
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
2.0.1
5
</version>
<version>
2.0.1
6
</version>
<packaging>
jar
</packaging>
<name>
JDBCDriver
</name>
<url>
https://github.com/taosdata/TDengine/tree/master/src/connector/jdbc
</url>
...
...
@@ -49,6 +49,7 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
...
...
@@ -56,12 +57,6 @@
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<version>
5.1.47
</version>
</dependency>
<!-- for restful -->
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
...
...
@@ -79,12 +74,6 @@
<version>
1.2.58
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<version>
5.1.49
</version>
</dependency>
</dependencies>
<build>
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/AbstractDatabaseMetaData.java
浏览文件 @
20d02799
...
...
@@ -497,12 +497,12 @@ public abstract class AbstractDatabaseMetaData implements DatabaseMetaData {
public
ResultSet
getProcedures
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
)
;
return
null
;
}
public
ResultSet
getProcedureColumns
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
)
;
return
null
;
}
public
abstract
ResultSet
getTables
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
,
String
[]
types
)
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDatabaseMetaData.java
浏览文件 @
20d02799
...
...
@@ -20,13 +20,11 @@ import java.util.List;
public
class
TSDBDatabaseMetaData
implements
java
.
sql
.
DatabaseMetaData
{
private
String
dbProductName
=
null
;
private
String
url
=
null
;
private
String
userName
=
null
;
private
Connection
conn
=
null
;
private
String
url
;
private
String
userName
;
private
Connection
conn
;
public
TSDBDatabaseMetaData
(
String
dbProductName
,
String
url
,
String
userName
)
{
this
.
dbProductName
=
dbProductName
;
public
TSDBDatabaseMetaData
(
String
url
,
String
userName
)
{
this
.
url
=
url
;
this
.
userName
=
userName
;
}
...
...
@@ -35,12 +33,17 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
this
.
conn
=
conn
;
}
@Override
public
<
T
>
T
unwrap
(
Class
<
T
>
iface
)
throws
SQLException
{
return
null
;
try
{
return
iface
.
cast
(
this
);
}
catch
(
ClassCastException
cce
)
{
throw
new
SQLException
(
"Unable to unwrap to "
+
iface
.
toString
());
}
}
public
boolean
isWrapperFor
(
Class
<?>
iface
)
throws
SQLException
{
return
false
;
return
iface
.
isInstance
(
this
)
;
}
public
boolean
allProceduresAreCallable
()
throws
SQLException
{
...
...
@@ -80,11 +83,11 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
String
getDatabaseProductName
()
throws
SQLException
{
return
this
.
dbProductName
;
return
"TDengine"
;
}
public
String
getDatabaseProductVersion
()
throws
SQLException
{
return
"
1.5.1
"
;
return
"
2.0.x.x
"
;
}
public
String
getDriverName
()
throws
SQLException
{
...
...
@@ -92,7 +95,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
String
getDriverVersion
()
throws
SQLException
{
return
"
1.0.0
"
;
return
"
2.0.x
"
;
}
public
int
getDriverMajorVersion
()
{
...
...
@@ -111,7 +114,9 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
return
false
;
}
public
boolean
supportsMixedCaseIdentifiers
()
throws
SQLException
{
//像database、table这些对象的标识符,在存储时是否采用大小写混合的模式
return
false
;
}
...
...
@@ -120,7 +125,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
boolean
storesLowerCaseIdentifiers
()
throws
SQLException
{
return
fals
e
;
return
tru
e
;
}
public
boolean
storesMixedCaseIdentifiers
()
throws
SQLException
{
...
...
@@ -128,6 +133,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
boolean
supportsMixedCaseQuotedIdentifiers
()
throws
SQLException
{
//像database、table这些对象的标识符,在存储时是否采用大小写混合、并带引号的模式
return
false
;
}
...
...
@@ -188,10 +194,12 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
boolean
nullPlusNonNullIsNull
()
throws
SQLException
{
// null + non-null != null
return
false
;
}
public
boolean
supportsConvert
()
throws
SQLException
{
// 是否支持转换函数convert
return
false
;
}
...
...
@@ -216,7 +224,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
boolean
supportsGroupBy
()
throws
SQLException
{
return
fals
e
;
return
tru
e
;
}
public
boolean
supportsGroupByUnrelated
()
throws
SQLException
{
...
...
@@ -488,7 +496,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
int
getDefaultTransactionIsolation
()
throws
SQLException
{
return
0
;
return
Connection
.
TRANSACTION_NONE
;
}
public
boolean
supportsTransactions
()
throws
SQLException
{
...
...
@@ -496,6 +504,8 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
boolean
supportsTransactionIsolationLevel
(
int
level
)
throws
SQLException
{
if
(
level
==
Connection
.
TRANSACTION_NONE
)
return
true
;
return
false
;
}
...
...
@@ -517,28 +527,27 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
public
ResultSet
getProcedures
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
)
;
return
null
;
}
public
ResultSet
getProcedureColumns
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
)
;
return
null
;
}
public
ResultSet
getTables
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
,
String
[]
types
)
throws
SQLException
{
Statement
stmt
=
null
;
if
(
null
!=
conn
&&
!
conn
.
isClosed
())
{
stmt
=
conn
.
createStatement
();
if
(
catalog
==
null
||
catalog
.
length
()
<
1
)
{
catalog
=
conn
.
getCatalog
();
}
public
ResultSet
getTables
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
,
String
[]
types
)
throws
SQLException
{
if
(
conn
==
null
||
conn
.
isClosed
())
{
throw
new
SQLException
(
TSDBConstants
.
FixErrMsg
(
TSDBConstants
.
JNI_CONNECTION_NULL
));
}
try
(
Statement
stmt
=
conn
.
createStatement
())
{
if
(
catalog
==
null
||
catalog
.
isEmpty
())
return
null
;
stmt
.
executeUpdate
(
"use "
+
catalog
);
ResultSet
resultSet0
=
stmt
.
executeQuery
(
"show tables"
);
GetTablesResultSet
getTablesResultSet
=
new
GetTablesResultSet
(
resultSet0
,
catalog
,
schemaPattern
,
tableNamePattern
,
types
);
return
getTablesResultSet
;
}
else
{
throw
new
SQLException
(
TSDBConstants
.
FixErrMsg
(
TSDBConstants
.
JNI_CONNECTION_NULL
));
}
}
...
...
@@ -547,14 +556,12 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
ResultSet
getCatalogs
()
throws
SQLException
{
if
(
conn
==
null
||
conn
.
isClosed
())
throw
new
SQLException
(
TSDBConstants
.
FixErrMsg
(
TSDBConstants
.
JNI_CONNECTION_NULL
));
if
(
conn
!=
null
&&
!
conn
.
isClosed
())
{
Statement
stmt
=
conn
.
createStatement
();
ResultSet
resultSet0
=
stmt
.
executeQuery
(
"show databases"
);
CatalogResultSet
resultSet
=
new
CatalogResultSet
(
resultSet0
);
return
resultSet
;
}
else
{
return
getEmptyResultSet
();
try
(
Statement
stmt
=
conn
.
createStatement
())
{
ResultSet
rs
=
stmt
.
executeQuery
(
"show databases"
);
return
new
CatalogResultSet
(
rs
);
}
}
...
...
@@ -562,7 +569,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
DatabaseMetaDataResultSet
resultSet
=
new
DatabaseMetaDataResultSet
();
// set up ColumnMetaDataList
List
<
ColumnMetaData
>
columnMetaDataList
=
new
ArrayList
<
ColumnMetaData
>(
1
);
List
<
ColumnMetaData
>
columnMetaDataList
=
new
ArrayList
<>(
1
);
ColumnMetaData
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
0
);
colMetaData
.
setColName
(
"TABLE_TYPE"
);
...
...
@@ -571,7 +578,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
columnMetaDataList
.
add
(
colMetaData
);
// set up rowDataList
List
<
TSDBResultSetRowData
>
rowDataList
=
new
ArrayList
<
TSDBResultSetRowData
>(
2
);
List
<
TSDBResultSetRowData
>
rowDataList
=
new
ArrayList
<>(
2
);
TSDBResultSetRowData
rowData
=
new
TSDBResultSetRowData
();
rowData
.
setString
(
0
,
"TABLE"
);
rowDataList
.
add
(
rowData
);
...
...
@@ -591,11 +598,10 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
Statement
stmt
=
null
;
if
(
null
!=
conn
&&
!
conn
.
isClosed
())
{
stmt
=
conn
.
createStatement
();
if
(
catalog
==
null
||
catalog
.
length
()
<
1
)
{
catalog
=
conn
.
getCatalog
();
}
stmt
.
executeUpdate
(
"use "
+
catalog
);
if
(
catalog
==
null
||
catalog
.
isEmpty
())
return
null
;
stmt
.
executeUpdate
(
"use "
+
catalog
);
DatabaseMetaDataResultSet
resultSet
=
new
DatabaseMetaDataResultSet
();
// set up ColumnMetaDataList
List
<
ColumnMetaData
>
columnMetaDataList
=
new
ArrayList
<>(
24
);
...
...
@@ -851,7 +857,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
Connection
getConnection
()
throws
SQLException
{
return
null
;
return
this
.
conn
;
}
public
boolean
supportsSavepoints
()
throws
SQLException
{
...
...
@@ -884,15 +890,17 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
boolean
supportsResultSetHoldability
(
int
holdability
)
throws
SQLException
{
if
(
holdability
==
ResultSet
.
HOLD_CURSORS_OVER_COMMIT
)
return
true
;
return
false
;
}
public
int
getResultSetHoldability
()
throws
SQLException
{
return
0
;
return
ResultSet
.
HOLD_CURSORS_OVER_COMMIT
;
}
public
int
getDatabaseMajorVersion
()
throws
SQLException
{
return
0
;
return
2
;
}
public
int
getDatabaseMinorVersion
()
throws
SQLException
{
...
...
@@ -900,7 +908,7 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
public
int
getJDBCMajorVersion
()
throws
SQLException
{
return
0
;
return
2
;
}
public
int
getJDBCMinorVersion
()
throws
SQLException
{
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDriver.java
浏览文件 @
20d02799
...
...
@@ -214,7 +214,7 @@ public class TSDBDriver extends AbstractTaosDriver {
urlProps
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
,
url
);
}
this
.
dbMetaData
=
new
TSDBDatabaseMetaData
(
dbProductName
,
urlForMeta
,
urlProps
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
));
this
.
dbMetaData
=
new
TSDBDatabaseMetaData
(
urlForMeta
,
urlProps
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
));
return
urlProps
;
}
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBResultSet.java
浏览文件 @
20d02799
...
...
@@ -39,7 +39,6 @@ import java.util.Iterator;
import
java.util.List
;
import
java.util.Map
;
@SuppressWarnings
(
"unused"
)
public
class
TSDBResultSet
implements
ResultSet
{
private
TSDBJNIConnector
jniConnector
=
null
;
...
...
@@ -104,6 +103,7 @@ public class TSDBResultSet implements ResultSet {
}
public
TSDBResultSet
()
{
}
public
TSDBResultSet
(
TSDBJNIConnector
connector
,
long
resultSetPointer
)
throws
SQLException
{
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java
浏览文件 @
20d02799
...
...
@@ -17,6 +17,7 @@ package com.taosdata.jdbc;
import
java.sql.*
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
public
class
TSDBStatement
implements
Statement
{
private
TSDBJNIConnector
connector
=
null
;
...
...
@@ -68,7 +69,6 @@ public class TSDBStatement implements Statement {
pSql
=
this
.
connector
.
executeQuery
(
sql
);
long
resultSetPointer
=
this
.
connector
.
getResultSet
();
if
(
resultSetPointer
==
TSDBConstants
.
JNI_CONNECTION_NULL
)
{
this
.
connector
.
freeResultSet
(
pSql
);
throw
new
SQLException
(
TSDBConstants
.
FixErrMsg
(
TSDBConstants
.
JNI_CONNECTION_NULL
));
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulDatabaseMetaData.java
浏览文件 @
20d02799
...
...
@@ -8,7 +8,6 @@ import java.util.List;
public
class
RestfulDatabaseMetaData
extends
AbstractDatabaseMetaData
{
private
final
String
url
;
private
final
String
userName
;
private
final
Connection
connection
;
...
...
src/connector/jdbc/src/test/java/com/taosdata/jdbc/DatabaseMetaDataTest.java
已删除
100644 → 0
浏览文件 @
cad80fa9
package
com.taosdata.jdbc
;
import
org.junit.AfterClass
;
import
org.junit.BeforeClass
;
import
org.junit.Test
;
import
java.sql.*
;
import
java.util.Properties
;
public
class
DatabaseMetaDataTest
{
static
Connection
connection
=
null
;
static
PreparedStatement
statement
=
null
;
static
String
dbName
=
"test"
;
static
String
tName
=
"t0"
;
static
String
host
=
"localhost"
;
@BeforeClass
public
static
void
createConnection
()
throws
SQLException
{
try
{
Class
.
forName
(
"com.taosdata.jdbc.TSDBDriver"
);
}
catch
(
ClassNotFoundException
e
)
{
return
;
}
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
,
host
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
,
"root"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_PASSWORD
,
"taosdata"
);
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"
);
connection
=
DriverManager
.
getConnection
(
"jdbc:TAOS://"
+
host
+
":0/"
,
properties
);
String
sql
=
"drop database if exists "
+
dbName
;
statement
=
connection
.
prepareStatement
(
sql
);
statement
.
executeUpdate
(
"create database if not exists "
+
dbName
);
statement
.
executeUpdate
(
"create table if not exists "
+
dbName
+
"."
+
tName
+
" (ts timestamp, k int, v int)"
);
}
@Test
public
void
testMetaDataTest
()
throws
SQLException
{
DatabaseMetaData
databaseMetaData
=
connection
.
getMetaData
();
ResultSet
resultSet
=
databaseMetaData
.
getTables
(
dbName
,
"t*"
,
"t*"
,
new
String
[]{
"t"
});
while
(
resultSet
.
next
())
{
for
(
int
i
=
1
;
i
<=
resultSet
.
getMetaData
().
getColumnCount
();
i
++)
{
System
.
out
.
printf
(
"%d: %s\n"
,
i
,
resultSet
.
getString
(
i
));
}
}
resultSet
.
close
();
databaseMetaData
.
isWrapperFor
(
null
);
databaseMetaData
.
allProceduresAreCallable
();
databaseMetaData
.
allTablesAreSelectable
();
databaseMetaData
.
getURL
();
databaseMetaData
.
getUserName
();
databaseMetaData
.
isReadOnly
();
databaseMetaData
.
nullsAreSortedHigh
();
databaseMetaData
.
nullsAreSortedLow
();
databaseMetaData
.
nullsAreSortedAtStart
();
databaseMetaData
.
nullsAreSortedAtEnd
();
databaseMetaData
.
getDatabaseProductName
();
databaseMetaData
.
getDatabaseProductVersion
();
databaseMetaData
.
getDriverName
();
databaseMetaData
.
getDriverVersion
();
databaseMetaData
.
getDriverMajorVersion
();
databaseMetaData
.
getDriverMinorVersion
();
databaseMetaData
.
usesLocalFiles
();
databaseMetaData
.
usesLocalFilePerTable
();
databaseMetaData
.
supportsMixedCaseIdentifiers
();
databaseMetaData
.
storesUpperCaseIdentifiers
();
databaseMetaData
.
storesLowerCaseIdentifiers
();
databaseMetaData
.
storesMixedCaseIdentifiers
();
databaseMetaData
.
supportsMixedCaseQuotedIdentifiers
();
databaseMetaData
.
storesUpperCaseQuotedIdentifiers
();
databaseMetaData
.
storesLowerCaseQuotedIdentifiers
();
databaseMetaData
.
storesMixedCaseQuotedIdentifiers
();
databaseMetaData
.
getIdentifierQuoteString
();
databaseMetaData
.
getSQLKeywords
();
databaseMetaData
.
getNumericFunctions
();
databaseMetaData
.
getStringFunctions
();
databaseMetaData
.
getSystemFunctions
();
databaseMetaData
.
getTimeDateFunctions
();
databaseMetaData
.
getSearchStringEscape
();
databaseMetaData
.
getExtraNameCharacters
();
databaseMetaData
.
supportsAlterTableWithAddColumn
();
databaseMetaData
.
supportsAlterTableWithDropColumn
();
databaseMetaData
.
supportsColumnAliasing
();
databaseMetaData
.
nullPlusNonNullIsNull
();
databaseMetaData
.
supportsConvert
();
databaseMetaData
.
supportsConvert
(
0
,
0
);
databaseMetaData
.
supportsTableCorrelationNames
();
databaseMetaData
.
supportsDifferentTableCorrelationNames
();
databaseMetaData
.
supportsExpressionsInOrderBy
();
databaseMetaData
.
supportsOrderByUnrelated
();
databaseMetaData
.
supportsGroupBy
();
databaseMetaData
.
supportsGroupByUnrelated
();
databaseMetaData
.
supportsGroupByBeyondSelect
();
databaseMetaData
.
supportsLikeEscapeClause
();
databaseMetaData
.
supportsMultipleResultSets
();
databaseMetaData
.
supportsMultipleTransactions
();
databaseMetaData
.
supportsNonNullableColumns
();
databaseMetaData
.
supportsMinimumSQLGrammar
();
databaseMetaData
.
supportsCoreSQLGrammar
();
databaseMetaData
.
supportsExtendedSQLGrammar
();
databaseMetaData
.
supportsANSI92EntryLevelSQL
();
databaseMetaData
.
supportsANSI92IntermediateSQL
();
databaseMetaData
.
supportsANSI92FullSQL
();
databaseMetaData
.
supportsIntegrityEnhancementFacility
();
databaseMetaData
.
supportsOuterJoins
();
databaseMetaData
.
supportsFullOuterJoins
();
databaseMetaData
.
supportsLimitedOuterJoins
();
databaseMetaData
.
getSchemaTerm
();
databaseMetaData
.
getProcedureTerm
();
databaseMetaData
.
getCatalogTerm
();
databaseMetaData
.
isCatalogAtStart
();
databaseMetaData
.
getCatalogSeparator
();
databaseMetaData
.
supportsSchemasInDataManipulation
();
databaseMetaData
.
supportsSchemasInProcedureCalls
();
databaseMetaData
.
supportsSchemasInTableDefinitions
();
databaseMetaData
.
supportsSchemasInIndexDefinitions
();
databaseMetaData
.
supportsSchemasInPrivilegeDefinitions
();
databaseMetaData
.
supportsCatalogsInDataManipulation
();
databaseMetaData
.
supportsCatalogsInProcedureCalls
();
databaseMetaData
.
supportsCatalogsInTableDefinitions
();
databaseMetaData
.
supportsCatalogsInIndexDefinitions
();
databaseMetaData
.
supportsCatalogsInPrivilegeDefinitions
();
databaseMetaData
.
supportsPositionedDelete
();
databaseMetaData
.
supportsPositionedUpdate
();
databaseMetaData
.
supportsSelectForUpdate
();
databaseMetaData
.
supportsStoredProcedures
();
databaseMetaData
.
supportsSubqueriesInComparisons
();
databaseMetaData
.
supportsSubqueriesInExists
();
databaseMetaData
.
supportsSubqueriesInIns
();
databaseMetaData
.
supportsSubqueriesInQuantifieds
();
databaseMetaData
.
supportsCorrelatedSubqueries
();
databaseMetaData
.
supportsUnion
();
databaseMetaData
.
supportsUnionAll
();
databaseMetaData
.
supportsOpenCursorsAcrossCommit
();
databaseMetaData
.
supportsOpenCursorsAcrossRollback
();
databaseMetaData
.
supportsOpenStatementsAcrossCommit
();
databaseMetaData
.
supportsOpenStatementsAcrossRollback
();
databaseMetaData
.
getMaxBinaryLiteralLength
();
databaseMetaData
.
getMaxCharLiteralLength
();
databaseMetaData
.
getMaxColumnNameLength
();
databaseMetaData
.
getMaxColumnsInGroupBy
();
databaseMetaData
.
getMaxColumnsInIndex
();
databaseMetaData
.
getMaxColumnsInOrderBy
();
databaseMetaData
.
getMaxColumnsInSelect
();
databaseMetaData
.
getMaxColumnsInTable
();
databaseMetaData
.
getMaxConnections
();
databaseMetaData
.
getMaxCursorNameLength
();
databaseMetaData
.
getMaxIndexLength
();
databaseMetaData
.
getMaxSchemaNameLength
();
databaseMetaData
.
getMaxProcedureNameLength
();
databaseMetaData
.
getMaxCatalogNameLength
();
databaseMetaData
.
getMaxRowSize
();
databaseMetaData
.
doesMaxRowSizeIncludeBlobs
();
databaseMetaData
.
getMaxStatementLength
();
databaseMetaData
.
getMaxStatements
();
databaseMetaData
.
getMaxTableNameLength
();
databaseMetaData
.
getMaxTablesInSelect
();
databaseMetaData
.
getMaxUserNameLength
();
databaseMetaData
.
getDefaultTransactionIsolation
();
databaseMetaData
.
supportsTransactions
();
databaseMetaData
.
supportsTransactionIsolationLevel
(
0
);
databaseMetaData
.
supportsDataDefinitionAndDataManipulationTransactions
();
databaseMetaData
.
supportsDataManipulationTransactionsOnly
();
databaseMetaData
.
dataDefinitionCausesTransactionCommit
();
databaseMetaData
.
dataDefinitionIgnoredInTransactions
();
try
{
databaseMetaData
.
getProcedures
(
""
,
""
,
""
);
}
catch
(
Exception
e
)
{
}
try
{
databaseMetaData
.
getProcedureColumns
(
""
,
""
,
""
,
""
);
}
catch
(
Exception
e
)
{
}
try
{
databaseMetaData
.
getTables
(
""
,
""
,
""
,
new
String
[]{
""
});
}
catch
(
Exception
e
)
{
}
databaseMetaData
.
getSchemas
();
databaseMetaData
.
getCatalogs
();
// databaseMetaData.getTableTypes();
databaseMetaData
.
getColumns
(
dbName
,
""
,
tName
,
""
);
databaseMetaData
.
getColumnPrivileges
(
""
,
""
,
""
,
""
);
databaseMetaData
.
getTablePrivileges
(
""
,
""
,
""
);
databaseMetaData
.
getBestRowIdentifier
(
""
,
""
,
""
,
0
,
false
);
databaseMetaData
.
getVersionColumns
(
""
,
""
,
""
);
databaseMetaData
.
getPrimaryKeys
(
""
,
""
,
""
);
databaseMetaData
.
getImportedKeys
(
""
,
""
,
""
);
databaseMetaData
.
getExportedKeys
(
""
,
""
,
""
);
databaseMetaData
.
getCrossReference
(
""
,
""
,
""
,
""
,
""
,
""
);
databaseMetaData
.
getTypeInfo
();
databaseMetaData
.
getIndexInfo
(
""
,
""
,
""
,
false
,
false
);
databaseMetaData
.
supportsResultSetType
(
0
);
databaseMetaData
.
supportsResultSetConcurrency
(
0
,
0
);
databaseMetaData
.
ownUpdatesAreVisible
(
0
);
databaseMetaData
.
ownDeletesAreVisible
(
0
);
databaseMetaData
.
ownInsertsAreVisible
(
0
);
databaseMetaData
.
othersUpdatesAreVisible
(
0
);
databaseMetaData
.
othersDeletesAreVisible
(
0
);
databaseMetaData
.
othersInsertsAreVisible
(
0
);
databaseMetaData
.
updatesAreDetected
(
0
);
databaseMetaData
.
deletesAreDetected
(
0
);
databaseMetaData
.
insertsAreDetected
(
0
);
databaseMetaData
.
supportsBatchUpdates
();
databaseMetaData
.
getUDTs
(
""
,
""
,
""
,
new
int
[]{
0
});
databaseMetaData
.
getConnection
();
databaseMetaData
.
supportsSavepoints
();
databaseMetaData
.
supportsNamedParameters
();
databaseMetaData
.
supportsMultipleOpenResults
();
databaseMetaData
.
supportsGetGeneratedKeys
();
databaseMetaData
.
getSuperTypes
(
""
,
""
,
""
);
databaseMetaData
.
getSuperTables
(
""
,
""
,
""
);
databaseMetaData
.
getAttributes
(
""
,
""
,
""
,
""
);
databaseMetaData
.
supportsResultSetHoldability
(
0
);
databaseMetaData
.
getResultSetHoldability
();
databaseMetaData
.
getDatabaseMajorVersion
();
databaseMetaData
.
getDatabaseMinorVersion
();
databaseMetaData
.
getJDBCMajorVersion
();
databaseMetaData
.
getJDBCMinorVersion
();
databaseMetaData
.
getSQLStateType
();
databaseMetaData
.
locatorsUpdateCopy
();
databaseMetaData
.
supportsStatementPooling
();
databaseMetaData
.
getRowIdLifetime
();
databaseMetaData
.
getSchemas
(
""
,
""
);
databaseMetaData
.
supportsStoredFunctionsUsingCallSyntax
();
databaseMetaData
.
autoCommitFailureClosesAllResultSets
();
databaseMetaData
.
getClientInfoProperties
();
databaseMetaData
.
getFunctions
(
""
,
""
,
""
);
databaseMetaData
.
getFunctionColumns
(
""
,
""
,
""
,
""
);
databaseMetaData
.
getPseudoColumns
(
""
,
""
,
""
,
""
);
databaseMetaData
.
generatedKeyAlwaysReturned
();
}
@AfterClass
public
static
void
close
()
throws
Exception
{
statement
.
executeUpdate
(
"drop database "
+
dbName
);
statement
.
close
();
connection
.
close
();
Thread
.
sleep
(
10
);
}
}
src/connector/jdbc/src/test/java/com/taosdata/jdbc/TSDBDatabaseMetaDataTest.java
0 → 100644
浏览文件 @
20d02799
package
com.taosdata.jdbc
;
import
org.junit.Assert
;
import
org.junit.Before
;
import
org.junit.Test
;
import
java.sql.Connection
;
import
java.sql.DriverManager
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.Properties
;
public
class
TSDBDatabaseMetaDataTest
{
private
TSDBDatabaseMetaData
metaData
;
private
static
final
String
host
=
"localhost"
;
@Before
public
void
before
()
throws
ClassNotFoundException
,
SQLException
{
Class
.
forName
(
"com.taosdata.jdbc.TSDBDriver"
);
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
,
host
);
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"
);
metaData
=
(
TSDBDatabaseMetaData
)
DriverManager
.
getConnection
(
"jdbc:TAOS://"
+
host
+
":6030/?user=root&password=taosdata"
,
properties
).
getMetaData
();
}
@Test
public
void
unwrap
()
throws
SQLException
{
TSDBDatabaseMetaData
unwrap
=
metaData
.
unwrap
(
TSDBDatabaseMetaData
.
class
);
Assert
.
assertNotNull
(
unwrap
);
}
@Test
public
void
isWrapperFor
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
isWrapperFor
(
TSDBDatabaseMetaData
.
class
));
}
@Test
public
void
allProceduresAreCallable
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
allProceduresAreCallable
());
}
@Test
public
void
allTablesAreSelectable
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
allTablesAreSelectable
());
}
@Test
public
void
getURL
()
throws
SQLException
{
Assert
.
assertEquals
(
"jdbc:TAOS://localhost:6030/?user=root&password=taosdata"
,
metaData
.
getURL
());
}
@Test
public
void
getUserName
()
throws
SQLException
{
Assert
.
assertEquals
(
"root"
,
metaData
.
getUserName
());
}
@Test
public
void
isReadOnly
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
isReadOnly
());
}
@Test
public
void
nullsAreSortedHigh
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
nullsAreSortedHigh
());
}
@Test
public
void
nullsAreSortedLow
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
nullsAreSortedLow
());
}
@Test
public
void
nullsAreSortedAtStart
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
nullsAreSortedAtStart
());
}
@Test
public
void
nullsAreSortedAtEnd
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
nullsAreSortedAtEnd
());
}
@Test
public
void
getDatabaseProductName
()
throws
SQLException
{
Assert
.
assertEquals
(
"TDengine"
,
metaData
.
getDatabaseProductName
());
}
@Test
public
void
getDatabaseProductVersion
()
throws
SQLException
{
Assert
.
assertEquals
(
"2.0.x.x"
,
metaData
.
getDatabaseProductVersion
());
}
@Test
public
void
getDriverName
()
throws
SQLException
{
Assert
.
assertEquals
(
"com.taosdata.jdbc.TSDBDriver"
,
metaData
.
getDriverName
());
}
@Test
public
void
getDriverVersion
()
throws
SQLException
{
Assert
.
assertEquals
(
"2.0.x"
,
metaData
.
getDriverVersion
());
}
@Test
public
void
getDriverMajorVersion
()
{
Assert
.
assertEquals
(
2
,
metaData
.
getDriverMajorVersion
());
}
@Test
public
void
getDriverMinorVersion
()
{
Assert
.
assertEquals
(
0
,
metaData
.
getDriverMinorVersion
());
}
@Test
public
void
usesLocalFiles
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
usesLocalFiles
());
}
@Test
public
void
usesLocalFilePerTable
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
usesLocalFilePerTable
());
}
@Test
public
void
supportsMixedCaseIdentifiers
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsMixedCaseIdentifiers
());
}
@Test
public
void
storesUpperCaseIdentifiers
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
storesUpperCaseIdentifiers
());
}
@Test
public
void
storesLowerCaseIdentifiers
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
storesLowerCaseIdentifiers
());
}
@Test
public
void
storesMixedCaseIdentifiers
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
storesMixedCaseIdentifiers
());
}
@Test
public
void
supportsMixedCaseQuotedIdentifiers
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsMixedCaseQuotedIdentifiers
());
}
@Test
public
void
storesUpperCaseQuotedIdentifiers
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
storesUpperCaseQuotedIdentifiers
());
}
@Test
public
void
storesLowerCaseQuotedIdentifiers
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
storesLowerCaseQuotedIdentifiers
());
}
@Test
public
void
storesMixedCaseQuotedIdentifiers
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
storesMixedCaseQuotedIdentifiers
());
}
@Test
public
void
getIdentifierQuoteString
()
throws
SQLException
{
Assert
.
assertEquals
(
" "
,
metaData
.
getIdentifierQuoteString
());
}
@Test
public
void
getSQLKeywords
()
throws
SQLException
{
Assert
.
assertEquals
(
null
,
metaData
.
getSQLKeywords
());
}
@Test
public
void
getNumericFunctions
()
throws
SQLException
{
Assert
.
assertEquals
(
null
,
metaData
.
getNumericFunctions
());
}
@Test
public
void
getStringFunctions
()
throws
SQLException
{
Assert
.
assertEquals
(
null
,
metaData
.
getStringFunctions
());
}
@Test
public
void
getSystemFunctions
()
throws
SQLException
{
Assert
.
assertEquals
(
null
,
metaData
.
getSystemFunctions
());
}
@Test
public
void
getTimeDateFunctions
()
throws
SQLException
{
Assert
.
assertEquals
(
null
,
metaData
.
getTimeDateFunctions
());
}
@Test
public
void
getSearchStringEscape
()
throws
SQLException
{
Assert
.
assertEquals
(
null
,
metaData
.
getSearchStringEscape
());
}
@Test
public
void
getExtraNameCharacters
()
throws
SQLException
{
Assert
.
assertEquals
(
null
,
metaData
.
getExtraNameCharacters
());
}
@Test
public
void
supportsAlterTableWithAddColumn
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
supportsAlterTableWithAddColumn
());
}
@Test
public
void
supportsAlterTableWithDropColumn
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
supportsAlterTableWithDropColumn
());
}
@Test
public
void
supportsColumnAliasing
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
supportsColumnAliasing
());
}
@Test
public
void
nullPlusNonNullIsNull
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
nullPlusNonNullIsNull
());
}
@Test
public
void
supportsConvert
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsConvert
());
}
@Test
public
void
testSupportsConvert
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsConvert
(
1
,
1
));
}
@Test
public
void
supportsTableCorrelationNames
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsTableCorrelationNames
());
}
@Test
public
void
supportsDifferentTableCorrelationNames
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsDifferentTableCorrelationNames
());
}
@Test
public
void
supportsExpressionsInOrderBy
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsExpressionsInOrderBy
());
}
@Test
public
void
supportsOrderByUnrelated
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsOrderByUnrelated
());
}
@Test
public
void
supportsGroupBy
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
supportsGroupBy
());
}
@Test
public
void
supportsGroupByUnrelated
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsGroupByUnrelated
());
}
@Test
public
void
supportsGroupByBeyondSelect
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsGroupByBeyondSelect
());
}
@Test
public
void
supportsLikeEscapeClause
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsLikeEscapeClause
());
}
@Test
public
void
supportsMultipleResultSets
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsMultipleResultSets
());
}
@Test
public
void
supportsMultipleTransactions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsMultipleTransactions
());
}
@Test
public
void
supportsNonNullableColumns
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsNonNullableColumns
());
}
@Test
public
void
supportsMinimumSQLGrammar
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsMinimumSQLGrammar
());
}
@Test
public
void
supportsCoreSQLGrammar
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsCoreSQLGrammar
());
}
@Test
public
void
supportsExtendedSQLGrammar
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsExtendedSQLGrammar
());
}
@Test
public
void
supportsANSI92EntryLevelSQL
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsANSI92EntryLevelSQL
());
}
@Test
public
void
supportsANSI92IntermediateSQL
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsANSI92IntermediateSQL
());
}
@Test
public
void
supportsANSI92FullSQL
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsANSI92FullSQL
());
}
@Test
public
void
supportsIntegrityEnhancementFacility
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsIntegrityEnhancementFacility
());
}
@Test
public
void
supportsOuterJoins
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsOuterJoins
());
}
@Test
public
void
supportsFullOuterJoins
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsFullOuterJoins
());
}
@Test
public
void
supportsLimitedOuterJoins
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsLimitedOuterJoins
());
}
@Test
public
void
getSchemaTerm
()
throws
SQLException
{
Assert
.
assertNull
(
metaData
.
getSchemaTerm
());
}
@Test
public
void
getProcedureTerm
()
throws
SQLException
{
Assert
.
assertNull
(
metaData
.
getProcedureTerm
());
}
@Test
public
void
getCatalogTerm
()
throws
SQLException
{
Assert
.
assertEquals
(
"database"
,
metaData
.
getCatalogTerm
());
}
@Test
public
void
isCatalogAtStart
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
isCatalogAtStart
());
}
@Test
public
void
getCatalogSeparator
()
throws
SQLException
{
Assert
.
assertEquals
(
"."
,
metaData
.
getCatalogSeparator
());
}
@Test
public
void
supportsSchemasInDataManipulation
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSchemasInDataManipulation
());
}
@Test
public
void
supportsSchemasInProcedureCalls
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSchemasInProcedureCalls
());
}
@Test
public
void
supportsSchemasInTableDefinitions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSchemasInTableDefinitions
());
}
@Test
public
void
supportsSchemasInIndexDefinitions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSchemasInIndexDefinitions
());
}
@Test
public
void
supportsSchemasInPrivilegeDefinitions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSchemasInPrivilegeDefinitions
());
}
@Test
public
void
supportsCatalogsInDataManipulation
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
supportsCatalogsInDataManipulation
());
}
@Test
public
void
supportsCatalogsInProcedureCalls
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsCatalogsInProcedureCalls
());
}
@Test
public
void
supportsCatalogsInTableDefinitions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsCatalogsInTableDefinitions
());
}
@Test
public
void
supportsCatalogsInIndexDefinitions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsCatalogsInIndexDefinitions
());
}
@Test
public
void
supportsCatalogsInPrivilegeDefinitions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsCatalogsInPrivilegeDefinitions
());
}
@Test
public
void
supportsPositionedDelete
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsPositionedDelete
());
}
@Test
public
void
supportsPositionedUpdate
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsPositionedUpdate
());
}
@Test
public
void
supportsSelectForUpdate
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSelectForUpdate
());
}
@Test
public
void
supportsStoredProcedures
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsStoredProcedures
());
}
@Test
public
void
supportsSubqueriesInComparisons
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSubqueriesInComparisons
());
}
@Test
public
void
supportsSubqueriesInExists
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSubqueriesInExists
());
}
@Test
public
void
supportsSubqueriesInIns
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSubqueriesInIns
());
}
@Test
public
void
supportsSubqueriesInQuantifieds
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSubqueriesInQuantifieds
());
}
@Test
public
void
supportsCorrelatedSubqueries
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsCorrelatedSubqueries
());
}
@Test
public
void
supportsUnion
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsUnion
());
}
@Test
public
void
supportsUnionAll
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsUnionAll
());
}
@Test
public
void
supportsOpenCursorsAcrossCommit
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsOpenCursorsAcrossCommit
());
}
@Test
public
void
supportsOpenCursorsAcrossRollback
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsOpenCursorsAcrossRollback
());
}
@Test
public
void
supportsOpenStatementsAcrossCommit
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsOpenStatementsAcrossCommit
());
}
@Test
public
void
supportsOpenStatementsAcrossRollback
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsOpenStatementsAcrossRollback
());
}
@Test
public
void
getMaxBinaryLiteralLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxBinaryLiteralLength
());
}
@Test
public
void
getMaxCharLiteralLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxCharLiteralLength
());
}
@Test
public
void
getMaxColumnNameLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxColumnNameLength
());
}
@Test
public
void
getMaxColumnsInGroupBy
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxColumnsInGroupBy
());
}
@Test
public
void
getMaxColumnsInIndex
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxColumnsInIndex
());
}
@Test
public
void
getMaxColumnsInOrderBy
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxColumnsInOrderBy
());
}
@Test
public
void
getMaxColumnsInSelect
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxColumnsInSelect
());
}
@Test
public
void
getMaxColumnsInTable
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxColumnsInTable
());
}
@Test
public
void
getMaxConnections
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxConnections
());
}
@Test
public
void
getMaxCursorNameLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxCursorNameLength
());
}
@Test
public
void
getMaxIndexLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxIndexLength
());
}
@Test
public
void
getMaxSchemaNameLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxSchemaNameLength
());
}
@Test
public
void
getMaxProcedureNameLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxProcedureNameLength
());
}
@Test
public
void
getMaxCatalogNameLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxCatalogNameLength
());
}
@Test
public
void
getMaxRowSize
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxRowSize
());
}
@Test
public
void
doesMaxRowSizeIncludeBlobs
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
doesMaxRowSizeIncludeBlobs
());
}
@Test
public
void
getMaxStatementLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxStatementLength
());
}
@Test
public
void
getMaxStatements
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxStatements
());
}
@Test
public
void
getMaxTableNameLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxTableNameLength
());
}
@Test
public
void
getMaxTablesInSelect
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxTablesInSelect
());
}
@Test
public
void
getMaxUserNameLength
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getMaxUserNameLength
());
}
@Test
public
void
getDefaultTransactionIsolation
()
throws
SQLException
{
Assert
.
assertEquals
(
Connection
.
TRANSACTION_NONE
,
metaData
.
getDefaultTransactionIsolation
());
}
@Test
public
void
supportsTransactions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsTransactions
());
}
@Test
public
void
supportsTransactionIsolationLevel
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
supportsTransactionIsolationLevel
(
Connection
.
TRANSACTION_NONE
));
Assert
.
assertFalse
(
metaData
.
supportsTransactionIsolationLevel
(
Connection
.
TRANSACTION_READ_COMMITTED
));
Assert
.
assertFalse
(
metaData
.
supportsTransactionIsolationLevel
(
Connection
.
TRANSACTION_READ_UNCOMMITTED
));
Assert
.
assertFalse
(
metaData
.
supportsTransactionIsolationLevel
(
Connection
.
TRANSACTION_REPEATABLE_READ
));
Assert
.
assertFalse
(
metaData
.
supportsTransactionIsolationLevel
(
Connection
.
TRANSACTION_SERIALIZABLE
));
}
@Test
public
void
supportsDataDefinitionAndDataManipulationTransactions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsDataDefinitionAndDataManipulationTransactions
());
}
@Test
public
void
supportsDataManipulationTransactionsOnly
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsDataManipulationTransactionsOnly
());
}
@Test
public
void
dataDefinitionCausesTransactionCommit
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
dataDefinitionCausesTransactionCommit
());
}
@Test
public
void
dataDefinitionIgnoredInTransactions
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
dataDefinitionIgnoredInTransactions
());
}
@Test
public
void
getProcedures
()
throws
SQLException
{
Assert
.
assertNull
(
metaData
.
getProcedures
(
"*"
,
"*"
,
"*"
));
}
@Test
public
void
getProcedureColumns
()
throws
SQLException
{
Assert
.
assertNull
(
metaData
.
getProcedureColumns
(
"*"
,
"*"
,
"*"
,
"*"
));
}
@Test
public
void
getTables
()
throws
SQLException
{
Assert
.
assertNull
(
metaData
.
getTables
(
""
,
""
,
"*"
,
null
));
}
@Test
public
void
getSchemas
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getSchemas
());
}
@Test
public
void
getCatalogs
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getCatalogs
());
}
@Test
public
void
getTableTypes
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getTableTypes
());
}
@Test
public
void
getColumns
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getColumns
(
""
,
""
,
""
,
""
));
}
@Test
public
void
getColumnPrivileges
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getColumnPrivileges
(
""
,
""
,
""
,
""
));
}
@Test
public
void
getTablePrivileges
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getTablePrivileges
(
""
,
""
,
""
));
}
@Test
public
void
getBestRowIdentifier
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getBestRowIdentifier
(
""
,
""
,
""
,
0
,
false
));
}
@Test
public
void
getVersionColumns
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getVersionColumns
(
""
,
""
,
""
));
}
@Test
public
void
getPrimaryKeys
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getPrimaryKeys
(
""
,
""
,
""
));
}
@Test
public
void
getImportedKeys
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getImportedKeys
(
""
,
""
,
""
));
}
@Test
public
void
getExportedKeys
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getExportedKeys
(
""
,
""
,
""
));
}
@Test
public
void
getCrossReference
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getCrossReference
(
""
,
""
,
""
,
""
,
""
,
""
));
}
@Test
public
void
getTypeInfo
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getTypeInfo
());
}
@Test
public
void
getIndexInfo
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getIndexInfo
(
""
,
""
,
""
,
false
,
false
));
}
@Test
public
void
supportsResultSetType
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsResultSetType
(
0
));
}
@Test
public
void
supportsResultSetConcurrency
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsResultSetConcurrency
(
0
,
0
));
}
@Test
public
void
ownUpdatesAreVisible
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
ownUpdatesAreVisible
(
0
));
}
@Test
public
void
ownDeletesAreVisible
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
ownDeletesAreVisible
(
0
));
}
@Test
public
void
ownInsertsAreVisible
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
ownInsertsAreVisible
(
0
));
}
@Test
public
void
othersUpdatesAreVisible
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
othersUpdatesAreVisible
(
0
));
}
@Test
public
void
othersDeletesAreVisible
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
othersDeletesAreVisible
(
0
));
}
@Test
public
void
othersInsertsAreVisible
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
othersInsertsAreVisible
(
0
));
}
@Test
public
void
updatesAreDetected
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
updatesAreDetected
(
0
));
}
@Test
public
void
deletesAreDetected
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
deletesAreDetected
(
0
));
}
@Test
public
void
insertsAreDetected
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
insertsAreDetected
(
0
));
}
@Test
public
void
supportsBatchUpdates
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsBatchUpdates
());
}
@Test
public
void
getUDTs
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getUDTs
(
""
,
""
,
""
,
null
));
}
@Test
public
void
getConnection
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getConnection
());
}
@Test
public
void
supportsSavepoints
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsSavepoints
());
}
@Test
public
void
supportsNamedParameters
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsNamedParameters
());
}
@Test
public
void
supportsMultipleOpenResults
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsMultipleOpenResults
());
}
@Test
public
void
supportsGetGeneratedKeys
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsGetGeneratedKeys
());
}
@Test
public
void
getSuperTypes
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getSuperTypes
(
""
,
""
,
""
));
}
@Test
public
void
getSuperTables
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getSuperTables
(
""
,
""
,
""
));
}
@Test
public
void
getAttributes
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getAttributes
(
""
,
""
,
""
,
""
));
}
@Test
public
void
supportsResultSetHoldability
()
throws
SQLException
{
Assert
.
assertTrue
(
metaData
.
supportsResultSetHoldability
(
ResultSet
.
HOLD_CURSORS_OVER_COMMIT
));
Assert
.
assertFalse
(
metaData
.
supportsResultSetHoldability
(
ResultSet
.
CLOSE_CURSORS_AT_COMMIT
));
}
@Test
public
void
getResultSetHoldability
()
throws
SQLException
{
Assert
.
assertEquals
(
1
,
metaData
.
getResultSetHoldability
());
}
@Test
public
void
getDatabaseMajorVersion
()
throws
SQLException
{
Assert
.
assertEquals
(
2
,
metaData
.
getDatabaseMajorVersion
());
}
@Test
public
void
getDatabaseMinorVersion
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getDatabaseMinorVersion
());
}
@Test
public
void
getJDBCMajorVersion
()
throws
SQLException
{
Assert
.
assertEquals
(
2
,
metaData
.
getJDBCMajorVersion
());
}
@Test
public
void
getJDBCMinorVersion
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getJDBCMinorVersion
());
}
@Test
public
void
getSQLStateType
()
throws
SQLException
{
Assert
.
assertEquals
(
0
,
metaData
.
getSQLStateType
());
}
@Test
public
void
locatorsUpdateCopy
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
locatorsUpdateCopy
());
}
@Test
public
void
supportsStatementPooling
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsStatementPooling
());
}
@Test
public
void
getRowIdLifetime
()
throws
SQLException
{
Assert
.
assertNull
(
metaData
.
getRowIdLifetime
());
}
@Test
public
void
testGetSchemas
()
throws
SQLException
{
Assert
.
assertNull
(
metaData
.
getSchemas
());
}
@Test
public
void
supportsStoredFunctionsUsingCallSyntax
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
supportsStoredFunctionsUsingCallSyntax
());
}
@Test
public
void
autoCommitFailureClosesAllResultSets
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
autoCommitFailureClosesAllResultSets
());
}
@Test
public
void
getClientInfoProperties
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getClientInfoProperties
());
}
@Test
public
void
getFunctions
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getFunctions
(
""
,
""
,
""
));
}
@Test
public
void
getFunctionColumns
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getFunctionColumns
(
""
,
""
,
""
,
""
));
}
@Test
public
void
getPseudoColumns
()
throws
SQLException
{
Assert
.
assertNotNull
(
metaData
.
getPseudoColumns
(
""
,
""
,
""
,
""
));
}
@Test
public
void
generatedKeyAlwaysReturned
()
throws
SQLException
{
Assert
.
assertFalse
(
metaData
.
generatedKeyAlwaysReturned
());
}
}
\ No newline at end of file
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/MultiThreadsWithSameStatmentTest.java
0 → 100644
浏览文件 @
20d02799
package
com.taosdata.jdbc.cases
;
import
org.junit.After
;
import
org.junit.Before
;
import
org.junit.Test
;
import
java.sql.*
;
import
java.util.concurrent.TimeUnit
;
public
class
MultiThreadsWithSameStatmentTest
{
private
class
Service
{
public
Connection
conn
;
public
Statement
stmt
;
public
Service
()
{
try
{
Class
.
forName
(
"com.taosdata.jdbc.TSDBDriver"
);
conn
=
DriverManager
.
getConnection
(
"jdbc:TAOS://localhost:6030/?user=root&password=taosdata"
);
stmt
=
conn
.
createStatement
();
stmt
.
execute
(
"create database if not exists jdbctest"
);
stmt
.
executeUpdate
(
"create table if not exists jdbctest.weather (ts timestamp, f1 int)"
);
}
catch
(
ClassNotFoundException
|
SQLException
e
)
{
e
.
printStackTrace
();
}
}
public
void
release
()
{
try
{
stmt
.
close
();
conn
.
close
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
@Before
public
void
before
()
{
}
@Test
public
void
test
()
{
Thread
t1
=
new
Thread
(()
->
{
try
{
Service
service
=
new
Service
();
ResultSet
resultSet
=
service
.
stmt
.
executeQuery
(
"select * from jdbctest.weather"
);
while
(
resultSet
.
next
())
{
ResultSetMetaData
metaData
=
resultSet
.
getMetaData
();
for
(
int
i
=
1
;
i
<=
metaData
.
getColumnCount
();
i
++)
{
System
.
out
.
print
(
metaData
.
getColumnLabel
(
i
)
+
": "
+
resultSet
.
getString
(
i
));
}
System
.
out
.
println
();
}
resultSet
.
close
();
service
.
release
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
});
Thread
t2
=
new
Thread
(()
->
{
while
(
true
)
{
try
{
Service
service
=
new
Service
();
service
.
stmt
.
executeUpdate
(
"insert into jdbctest.weather values(now,1)"
);
service
.
release
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
});
t1
.
start
();
sleep
(
1000
);
t2
.
start
();
}
private
void
sleep
(
long
mills
)
{
try
{
TimeUnit
.
MILLISECONDS
.
sleep
(
mills
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
@After
public
void
after
()
{
}
}
tests/examples/JDBC/taosdemo/readme.md
浏览文件 @
20d02799
需求:
1.
可以读lowa的配置文件
2.
支持对JNI方式和Restful方式的taos-driver
\ No newline at end of file
2.
支持JDBC-JNI和JDBC-restful
3.
读取配置文件,持续执行查询
\ No newline at end of file
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/TaosDemoApplication.java
浏览文件 @
20d02799
...
...
@@ -19,14 +19,13 @@ import java.util.Map;
public
class
TaosDemoApplication
{
private
static
Logger
logger
=
Logger
.
getLogger
(
TaosDemoApplication
.
class
);
private
static
final
Logger
logger
=
Logger
.
getLogger
(
TaosDemoApplication
.
class
);
public
static
void
main
(
String
[]
args
)
throws
IOException
{
// 读配置参数
JdbcTaosdemoConfig
config
=
new
JdbcTaosdemoConfig
(
args
);
boolean
isHelp
=
Arrays
.
asList
(
args
).
contains
(
"--help"
);
if
(
isHelp
||
config
.
host
==
null
||
config
.
host
.
isEmpty
())
{
// if (isHelp) {
JdbcTaosdemoConfig
.
printHelp
();
System
.
exit
(
0
);
}
...
...
@@ -75,7 +74,7 @@ public class TaosDemoApplication {
}
}
end
=
System
.
currentTimeMillis
();
logger
.
error
(
">>> create table time cost : "
+
(
end
-
start
)
+
" ms."
);
logger
.
info
(
">>> create table time cost : "
+
(
end
-
start
)
+
" ms."
);
/**********************************************************************************/
// 插入
long
tableSize
=
config
.
numOfTables
;
...
...
@@ -90,7 +89,7 @@ public class TaosDemoApplication {
// multi threads to insert
int
affectedRows
=
subTableService
.
insertMultiThreads
(
superTableMeta
,
threadSize
,
tableSize
,
startTime
,
gap
,
config
);
end
=
System
.
currentTimeMillis
();
logger
.
error
(
"insert "
+
affectedRows
+
" rows, time cost: "
+
(
end
-
start
)
+
" ms"
);
logger
.
info
(
"insert "
+
affectedRows
+
" rows, time cost: "
+
(
end
-
start
)
+
" ms"
);
/**********************************************************************************/
// 删除表
if
(
config
.
dropTable
)
{
...
...
@@ -108,5 +107,4 @@ public class TaosDemoApplication {
return
startTime
;
}
}
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/DatabaseMapperImpl.java
浏览文件 @
20d02799
...
...
@@ -21,27 +21,27 @@ public class DatabaseMapperImpl implements DatabaseMapper {
public
void
createDatabase
(
String
dbname
)
{
String
sql
=
"create database if not exists "
+
dbname
;
jdbcTemplate
.
execute
(
sql
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
}
@Override
public
void
dropDatabase
(
String
dbname
)
{
String
sql
=
"drop database if exists "
+
dbname
;
jdbcTemplate
.
update
(
sql
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
}
@Override
public
void
createDatabaseWithParameters
(
Map
<
String
,
String
>
map
)
{
String
sql
=
SqlSpeller
.
createDatabase
(
map
);
jdbcTemplate
.
execute
(
sql
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
}
@Override
public
void
useDatabase
(
String
dbname
)
{
String
sql
=
"use "
+
dbname
;
jdbcTemplate
.
execute
(
sql
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
}
}
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SubTableMapperImpl.java
浏览文件 @
20d02799
...
...
@@ -21,14 +21,14 @@ public class SubTableMapperImpl implements SubTableMapper {
@Override
public
void
createUsingSuperTable
(
SubTableMeta
subTableMeta
)
{
String
sql
=
SqlSpeller
.
createTableUsingSuperTable
(
subTableMeta
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
jdbcTemplate
.
execute
(
sql
);
}
@Override
public
int
insertOneTableMultiValues
(
SubTableValue
subTableValue
)
{
String
sql
=
SqlSpeller
.
insertOneTableMultiValues
(
subTableValue
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
int
affectRows
=
0
;
try
{
...
...
@@ -42,7 +42,7 @@ public class SubTableMapperImpl implements SubTableMapper {
@Override
public
int
insertOneTableMultiValuesUsingSuperTable
(
SubTableValue
subTableValue
)
{
String
sql
=
SqlSpeller
.
insertOneTableMultiValuesUsingSuperTable
(
subTableValue
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
int
affectRows
=
0
;
try
{
...
...
@@ -56,7 +56,7 @@ public class SubTableMapperImpl implements SubTableMapper {
@Override
public
int
insertMultiTableMultiValues
(
List
<
SubTableValue
>
tables
)
{
String
sql
=
SqlSpeller
.
insertMultiSubTableMultiValues
(
tables
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
int
affectRows
=
0
;
try
{
affectRows
=
jdbcTemplate
.
update
(
sql
);
...
...
@@ -69,7 +69,7 @@ public class SubTableMapperImpl implements SubTableMapper {
@Override
public
int
insertMultiTableMultiValuesUsingSuperTable
(
List
<
SubTableValue
>
tables
)
{
String
sql
=
SqlSpeller
.
insertMultiTableMultiValuesUsingSuperTable
(
tables
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
int
affectRows
=
0
;
try
{
affectRows
=
jdbcTemplate
.
update
(
sql
);
...
...
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SuperTableMapperImpl.java
浏览文件 @
20d02799
...
...
@@ -18,14 +18,14 @@ public class SuperTableMapperImpl implements SuperTableMapper {
@Override
public
void
createSuperTable
(
SuperTableMeta
tableMetadata
)
{
String
sql
=
SqlSpeller
.
createSuperTable
(
tableMetadata
);
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
jdbcTemplate
.
execute
(
sql
);
}
@Override
public
void
dropSuperTable
(
String
database
,
String
name
)
{
String
sql
=
"drop table if exists "
+
database
+
"."
+
name
;
logger
.
info
(
"SQL >>> "
+
sql
);
logger
.
debug
(
"SQL >>> "
+
sql
);
jdbcTemplate
.
execute
(
sql
);
}
}
tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/TableMapperImpl.java
浏览文件 @
20d02799
package
com.taosdata.taosdemo.dao
;
import
com.taosdata.taosdemo.dao.TableMapper
;
import
com.taosdata.taosdemo.domain.TableMeta
;
import
com.taosdata.taosdemo.domain.TableValue
;
import
com.taosdata.taosdemo.utils.SqlSpeller
;
import
org.apache.log4j.Logger
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
java.util.List
;
public
class
TableMapperImpl
implements
TableMapper
{
private
static
final
Logger
logger
=
Logger
.
getLogger
(
TableMapperImpl
.
class
);
private
JdbcTemplate
template
;
@Override
public
void
create
(
TableMeta
tableMeta
)
{
String
sql
=
SqlSpeller
.
createTable
(
tableMeta
);
logger
.
debug
(
"SQL >>> "
+
sql
);
template
.
execute
(
sql
);
}
@Override
public
int
insertOneTableMultiValues
(
TableValue
values
)
{
String
sql
=
SqlSpeller
.
insertOneTableMultiValues
(
values
);
logger
.
debug
(
"SQL >>> "
+
sql
);
return
template
.
update
(
sql
);
}
@Override
public
int
insertOneTableMultiValuesWithColumns
(
TableValue
values
)
{
String
sql
=
SqlSpeller
.
insertOneTableMultiValuesWithColumns
(
values
);
logger
.
debug
(
"SQL >>> "
+
sql
);
return
template
.
update
(
sql
);
}
@Override
public
int
insertMultiTableMultiValues
(
List
<
TableValue
>
tables
)
{
String
sql
=
SqlSpeller
.
insertMultiTableMultiValues
(
tables
);
logger
.
debug
(
"SQL >>> "
+
sql
);
return
template
.
update
(
sql
);
}
@Override
public
int
insertMultiTableMultiValuesWithColumns
(
List
<
TableValue
>
tables
)
{
String
sql
=
SqlSpeller
.
insertMultiTableMultiValuesWithColumns
(
tables
);
logger
.
debug
(
"SQL >>> "
+
sql
);
return
template
.
update
(
sql
);
}
}
tests/examples/JDBC/taosdemo/src/main/resources/log4j.properties
浏览文件 @
20d02799
### 设置###
log4j.rootLogger
=
error
,stdout
log4j.rootLogger
=
info
,stdout
### 输出信息到控制抬 ###
log4j.appender.stdout
=
org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target
=
System.out
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录