Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
50af70aa
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
50af70aa
编写于
9月 29, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
9月 29, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3721 from taosdata/feature/TD-1313
[TD-1313]<hotfix>: update TSDBDatabaseMetadata
上级
14ba2ffb
7beef60c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
828 addition
and
653 deletion
+828
-653
src/connector/jdbc/pom.xml
src/connector/jdbc/pom.xml
+1
-0
src/connector/jdbc/src/main/java/com/taosdata/jdbc/DatabaseMetaDataResultSet.java
...ain/java/com/taosdata/jdbc/DatabaseMetaDataResultSet.java
+17
-7
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDatabaseMetaData.java
...src/main/java/com/taosdata/jdbc/TSDBDatabaseMetaData.java
+810
-646
未找到文件。
src/connector/jdbc/pom.xml
浏览文件 @
50af70aa
...
...
@@ -55,6 +55,7 @@
<version>
4.13
</version>
<scope>
test
</scope>
</dependency>
</dependencies>
<build>
<plugins>
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/DatabaseMetaDataResultSet.java
浏览文件 @
50af70aa
...
...
@@ -67,14 +67,23 @@ public class DatabaseMetaDataResultSet implements ResultSet {
@Override
public
boolean
next
()
throws
SQLException
{
// boolean ret = false;
// if (rowDataList.size() > 0) {
// ret = rowDataList.iterator().hasNext();
// if (ret) {
// rowCursor = rowDataList.iterator().next();
// cursorRowNumber++;
// }
// }
// return ret;
/**** add by zyyang 2020-09-29 ****************/
boolean
ret
=
false
;
if
(
rowDataList
.
size
()
>
0
)
{
ret
=
rowDataList
.
iterator
().
hasNext
();
if
(
ret
)
{
rowCursor
=
rowDataList
.
iterator
().
next
();
cursorRowNumber
++;
}
if
(!
rowDataList
.
isEmpty
()
&&
cursorRowNumber
<
rowDataList
.
size
())
{
rowCursor
=
rowDataList
.
get
(
cursorRowNumber
++);
ret
=
true
;
}
return
ret
;
}
...
...
@@ -91,7 +100,8 @@ public class DatabaseMetaDataResultSet implements ResultSet {
@Override
public
String
getString
(
int
columnIndex
)
throws
SQLException
{
columnIndex
--;
return
rowCursor
.
getString
(
columnIndex
,
columnMetaDataList
.
get
(
columnIndex
).
getColType
());
int
colType
=
columnMetaDataList
.
get
(
columnIndex
).
getColType
();
return
rowCursor
.
getString
(
columnIndex
,
colType
);
}
@Override
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDatabaseMetaData.java
浏览文件 @
50af70aa
...
...
@@ -20,519 +20,519 @@ 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
;
public
TSDBDatabaseMetaData
(
String
dbProductName
,
String
url
,
String
userName
)
{
this
.
dbProductName
=
dbProductName
;
this
.
url
=
url
;
this
.
userName
=
userName
;
}
private
String
dbProductName
=
null
;
private
String
url
=
null
;
private
String
userName
=
null
;
private
Connection
conn
=
null
;
public
TSDBDatabaseMetaData
(
String
dbProductName
,
String
url
,
String
userName
)
{
this
.
dbProductName
=
dbProductName
;
this
.
url
=
url
;
this
.
userName
=
userName
;
}
public
void
setConnection
(
Connection
conn
)
{
this
.
conn
=
conn
;
}
public
void
setConnection
(
Connection
conn
)
{
this
.
conn
=
conn
;
}
public
<
T
>
T
unwrap
(
Class
<
T
>
iface
)
throws
SQLException
{
return
null
;
}
public
<
T
>
T
unwrap
(
Class
<
T
>
iface
)
throws
SQLException
{
return
null
;
}
public
boolean
isWrapperFor
(
Class
<?>
iface
)
throws
SQLException
{
return
false
;
}
public
boolean
isWrapperFor
(
Class
<?>
iface
)
throws
SQLException
{
return
false
;
}
public
boolean
allProceduresAreCallable
()
throws
SQLException
{
return
false
;
}
public
boolean
allProceduresAreCallable
()
throws
SQLException
{
return
false
;
}
public
boolean
allTablesAreSelectable
()
throws
SQLException
{
return
false
;
}
public
boolean
allTablesAreSelectable
()
throws
SQLException
{
return
false
;
}
public
String
getURL
()
throws
SQLException
{
return
this
.
url
;
}
public
String
getURL
()
throws
SQLException
{
return
this
.
url
;
}
public
String
getUserName
()
throws
SQLException
{
return
this
.
userName
;
}
public
String
getUserName
()
throws
SQLException
{
return
this
.
userName
;
}
public
boolean
isReadOnly
()
throws
SQLException
{
return
false
;
}
public
boolean
isReadOnly
()
throws
SQLException
{
return
false
;
}
public
boolean
nullsAreSortedHigh
()
throws
SQLException
{
return
false
;
}
public
boolean
nullsAreSortedHigh
()
throws
SQLException
{
return
false
;
}
public
boolean
nullsAreSortedLow
()
throws
SQLException
{
return
!
nullsAreSortedHigh
();
}
public
boolean
nullsAreSortedLow
()
throws
SQLException
{
return
!
nullsAreSortedHigh
();
}
public
boolean
nullsAreSortedAtStart
()
throws
SQLException
{
return
true
;
}
public
boolean
nullsAreSortedAtStart
()
throws
SQLException
{
return
true
;
}
public
boolean
nullsAreSortedAtEnd
()
throws
SQLException
{
return
!
nullsAreSortedAtStart
();
}
public
boolean
nullsAreSortedAtEnd
()
throws
SQLException
{
return
!
nullsAreSortedAtStart
();
}
public
String
getDatabaseProductName
()
throws
SQLException
{
return
this
.
dbProductName
;
}
public
String
getDatabaseProductName
()
throws
SQLException
{
return
this
.
dbProductName
;
}
public
String
getDatabaseProductVersion
()
throws
SQLException
{
return
"1.5.1"
;
}
public
String
getDatabaseProductVersion
()
throws
SQLException
{
return
"1.5.1"
;
}
public
String
getDriverName
()
throws
SQLException
{
return
TSDBDriver
.
class
.
getName
();
}
public
String
getDriverName
()
throws
SQLException
{
return
TSDBDriver
.
class
.
getName
();
}
public
String
getDriverVersion
()
throws
SQLException
{
return
"1.0.0"
;
}
public
String
getDriverVersion
()
throws
SQLException
{
return
"1.0.0"
;
}
public
int
getDriverMajorVersion
()
{
return
0
;
}
public
int
getDriverMajorVersion
()
{
return
0
;
}
public
int
getDriverMinorVersion
()
{
return
0
;
}
public
int
getDriverMinorVersion
()
{
return
0
;
}
public
boolean
usesLocalFiles
()
throws
SQLException
{
return
false
;
}
public
boolean
usesLocalFiles
()
throws
SQLException
{
return
false
;
}
public
boolean
usesLocalFilePerTable
()
throws
SQLException
{
return
false
;
}
public
boolean
usesLocalFilePerTable
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMixedCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMixedCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesUpperCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesUpperCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesLowerCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesLowerCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesMixedCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesMixedCaseIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMixedCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMixedCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesUpperCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesUpperCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesLowerCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesLowerCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesMixedCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
boolean
storesMixedCaseQuotedIdentifiers
()
throws
SQLException
{
return
false
;
}
public
String
getIdentifierQuoteString
()
throws
SQLException
{
return
" "
;
}
public
String
getIdentifierQuoteString
()
throws
SQLException
{
return
" "
;
}
public
String
getSQLKeywords
()
throws
SQLException
{
return
null
;
}
public
String
getSQLKeywords
()
throws
SQLException
{
return
null
;
}
public
String
getNumericFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getNumericFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getStringFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getStringFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getSystemFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getSystemFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getTimeDateFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getTimeDateFunctions
()
throws
SQLException
{
return
null
;
}
public
String
getSearchStringEscape
()
throws
SQLException
{
return
null
;
}
public
String
getSearchStringEscape
()
throws
SQLException
{
return
null
;
}
public
String
getExtraNameCharacters
()
throws
SQLException
{
return
null
;
}
public
String
getExtraNameCharacters
()
throws
SQLException
{
return
null
;
}
public
boolean
supportsAlterTableWithAddColumn
()
throws
SQLException
{
return
true
;
}
public
boolean
supportsAlterTableWithAddColumn
()
throws
SQLException
{
return
true
;
}
public
boolean
supportsAlterTableWithDropColumn
()
throws
SQLException
{
return
true
;
}
public
boolean
supportsAlterTableWithDropColumn
()
throws
SQLException
{
return
true
;
}
public
boolean
supportsColumnAliasing
()
throws
SQLException
{
return
true
;
}
public
boolean
supportsColumnAliasing
()
throws
SQLException
{
return
true
;
}
public
boolean
nullPlusNonNullIsNull
()
throws
SQLException
{
return
false
;
}
public
boolean
nullPlusNonNullIsNull
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsConvert
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsConvert
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsConvert
(
int
fromType
,
int
toType
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsConvert
(
int
fromType
,
int
toType
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsTableCorrelationNames
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsTableCorrelationNames
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsDifferentTableCorrelationNames
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsDifferentTableCorrelationNames
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsExpressionsInOrderBy
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsExpressionsInOrderBy
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOrderByUnrelated
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOrderByUnrelated
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGroupBy
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGroupBy
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGroupByUnrelated
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGroupByUnrelated
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGroupByBeyondSelect
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGroupByBeyondSelect
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsLikeEscapeClause
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsLikeEscapeClause
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMultipleResultSets
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMultipleResultSets
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMultipleTransactions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMultipleTransactions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsNonNullableColumns
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsNonNullableColumns
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMinimumSQLGrammar
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMinimumSQLGrammar
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCoreSQLGrammar
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCoreSQLGrammar
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsExtendedSQLGrammar
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsExtendedSQLGrammar
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsANSI92EntryLevelSQL
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsANSI92EntryLevelSQL
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsANSI92IntermediateSQL
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsANSI92IntermediateSQL
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsANSI92FullSQL
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsANSI92FullSQL
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsIntegrityEnhancementFacility
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsIntegrityEnhancementFacility
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOuterJoins
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOuterJoins
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsFullOuterJoins
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsFullOuterJoins
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsLimitedOuterJoins
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsLimitedOuterJoins
()
throws
SQLException
{
return
false
;
}
public
String
getSchemaTerm
()
throws
SQLException
{
return
null
;
}
public
String
getSchemaTerm
()
throws
SQLException
{
return
null
;
}
public
String
getProcedureTerm
()
throws
SQLException
{
return
null
;
}
public
String
getProcedureTerm
()
throws
SQLException
{
return
null
;
}
public
String
getCatalogTerm
()
throws
SQLException
{
return
"database"
;
}
public
String
getCatalogTerm
()
throws
SQLException
{
return
"database"
;
}
public
boolean
isCatalogAtStart
()
throws
SQLException
{
return
true
;
}
public
boolean
isCatalogAtStart
()
throws
SQLException
{
return
true
;
}
public
String
getCatalogSeparator
()
throws
SQLException
{
return
"."
;
}
public
String
getCatalogSeparator
()
throws
SQLException
{
return
"."
;
}
public
boolean
supportsSchemasInDataManipulation
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInDataManipulation
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInProcedureCalls
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInProcedureCalls
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInTableDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInTableDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInIndexDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInIndexDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInPrivilegeDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSchemasInPrivilegeDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInDataManipulation
()
throws
SQLException
{
return
true
;
}
public
boolean
supportsCatalogsInDataManipulation
()
throws
SQLException
{
return
true
;
}
public
boolean
supportsCatalogsInProcedureCalls
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInProcedureCalls
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInTableDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInTableDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInIndexDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInIndexDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInPrivilegeDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCatalogsInPrivilegeDefinitions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsPositionedDelete
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsPositionedDelete
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsPositionedUpdate
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsPositionedUpdate
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSelectForUpdate
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSelectForUpdate
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsStoredProcedures
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsStoredProcedures
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInComparisons
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInComparisons
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInExists
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInExists
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInIns
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInIns
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInQuantifieds
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsSubqueriesInQuantifieds
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCorrelatedSubqueries
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsCorrelatedSubqueries
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsUnion
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsUnion
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsUnionAll
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsUnionAll
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenCursorsAcrossCommit
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenCursorsAcrossCommit
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenCursorsAcrossRollback
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenCursorsAcrossRollback
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenStatementsAcrossCommit
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenStatementsAcrossCommit
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenStatementsAcrossRollback
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsOpenStatementsAcrossRollback
()
throws
SQLException
{
return
false
;
}
public
int
getMaxBinaryLiteralLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxBinaryLiteralLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxCharLiteralLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxCharLiteralLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInGroupBy
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInGroupBy
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInIndex
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInIndex
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInOrderBy
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInOrderBy
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInSelect
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInTable
()
throws
SQLException
{
return
0
;
}
public
int
getMaxConnections
()
throws
SQLException
{
return
0
;
}
public
int
getMaxCursorNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxIndexLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxSchemaNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxProcedureNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxCatalogNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxRowSize
()
throws
SQLException
{
return
0
;
}
public
boolean
doesMaxRowSizeIncludeBlobs
()
throws
SQLException
{
return
false
;
}
public
int
getMaxStatementLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxStatements
()
throws
SQLException
{
return
0
;
}
public
int
getMaxTableNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxTablesInSelect
()
throws
SQLException
{
return
0
;
}
public
int
getMaxUserNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getDefaultTransactionIsolation
()
throws
SQLException
{
return
0
;
}
public
boolean
supportsTransactions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsTransactionIsolationLevel
(
int
level
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsDataDefinitionAndDataManipulationTransactions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsDataManipulationTransactionsOnly
()
throws
SQLException
{
return
false
;
}
public
boolean
dataDefinitionCausesTransactionCommit
()
throws
SQLException
{
return
false
;
}
public
boolean
dataDefinitionIgnoredInTransactions
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getProcedures
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
);
}
public
ResultSet
getProcedureColumns
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
);
}
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
int
getMaxColumnsInSelect
()
throws
SQLException
{
return
0
;
}
public
int
getMaxColumnsInTable
()
throws
SQLException
{
return
0
;
}
public
int
getMaxConnections
()
throws
SQLException
{
return
0
;
}
public
int
getMaxCursorNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxIndexLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxSchemaNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxProcedureNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxCatalogNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxRowSize
()
throws
SQLException
{
return
0
;
}
public
boolean
doesMaxRowSizeIncludeBlobs
()
throws
SQLException
{
return
false
;
}
public
int
getMaxStatementLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxStatements
()
throws
SQLException
{
return
0
;
}
public
int
getMaxTableNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getMaxTablesInSelect
()
throws
SQLException
{
return
0
;
}
public
int
getMaxUserNameLength
()
throws
SQLException
{
return
0
;
}
public
int
getDefaultTransactionIsolation
()
throws
SQLException
{
return
0
;
}
public
boolean
supportsTransactions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsTransactionIsolationLevel
(
int
level
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsDataDefinitionAndDataManipulationTransactions
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsDataManipulationTransactionsOnly
()
throws
SQLException
{
return
false
;
}
public
boolean
dataDefinitionCausesTransactionCommit
()
throws
SQLException
{
return
false
;
}
public
boolean
dataDefinitionIgnoredInTransactions
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getProcedures
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
);
}
public
ResultSet
getProcedureColumns
(
String
catalog
,
String
schemaPattern
,
String
procedureNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
throw
new
SQLException
(
TSDBConstants
.
UNSUPPORT_METHOD_EXCEPTIONZ_MSG
);
}
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
();
}
stmt
.
executeUpdate
(
"use "
+
catalog
);
ResultSet
resultSet0
=
stmt
.
executeQuery
(
"show tables"
);
GetTablesResultSet
getTablesResultSet
=
new
GetTablesResultSet
(
resultSet0
,
catalog
,
schemaPattern
,
tableNamePattern
,
types
);
...
...
@@ -540,29 +540,29 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
}
else
{
throw
new
SQLException
(
TSDBConstants
.
FixErrMsg
(
TSDBConstants
.
JNI_CONNECTION_NULL
));
}
}
}
public
ResultSet
getSchemas
()
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getSchemas
()
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getCatalogs
()
throws
SQLException
{
public
ResultSet
getCatalogs
()
throws
SQLException
{
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
();
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
();
}
}
}
public
ResultSet
getTableTypes
()
throws
SQLException
{
DatabaseMetaDataResultSet
resultSet
=
new
DatabaseMetaDataResultSet
();
public
ResultSet
getTableTypes
()
throws
SQLException
{
DatabaseMetaDataResultSet
resultSet
=
new
DatabaseMetaDataResultSet
();
// set up ColumnMetaDataList
List
<
ColumnMetaData
>
columnMetaDataList
=
new
ArrayList
<
ColumnMetaData
>(
1
);
// set up ColumnMetaDataList
List
<
ColumnMetaData
>
columnMetaDataList
=
new
ArrayList
<
ColumnMetaData
>(
1
);
ColumnMetaData
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
0
);
colMetaData
.
setColName
(
"TABLE_TYPE"
);
...
...
@@ -582,220 +582,384 @@ public class TSDBDatabaseMetaData implements java.sql.DatabaseMetaData {
resultSet
.
setColumnMetaDataList
(
columnMetaDataList
);
resultSet
.
setRowDataList
(
rowDataList
);
return
resultSet
;
}
public
ResultSet
getColumns
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getColumnPrivileges
(
String
catalog
,
String
schema
,
String
table
,
String
columnNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getTablePrivileges
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getBestRowIdentifier
(
String
catalog
,
String
schema
,
String
table
,
int
scope
,
boolean
nullable
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getVersionColumns
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getPrimaryKeys
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getImportedKeys
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getExportedKeys
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getCrossReference
(
String
parentCatalog
,
String
parentSchema
,
String
parentTable
,
String
foreignCatalog
,
String
foreignSchema
,
String
foreignTable
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getTypeInfo
()
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getIndexInfo
(
String
catalog
,
String
schema
,
String
table
,
boolean
unique
,
boolean
approximate
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
boolean
supportsResultSetType
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsResultSetConcurrency
(
int
type
,
int
concurrency
)
throws
SQLException
{
return
false
;
}
public
boolean
ownUpdatesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
ownDeletesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
ownInsertsAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
othersUpdatesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
othersDeletesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
othersInsertsAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
updatesAreDetected
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
deletesAreDetected
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
insertsAreDetected
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsBatchUpdates
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getUDTs
(
String
catalog
,
String
schemaPattern
,
String
typeNamePattern
,
int
[]
types
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
Connection
getConnection
()
throws
SQLException
{
return
null
;
}
public
boolean
supportsSavepoints
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsNamedParameters
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMultipleOpenResults
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGetGeneratedKeys
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getSuperTypes
(
String
catalog
,
String
schemaPattern
,
String
typeNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getSuperTables
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getAttributes
(
String
catalog
,
String
schemaPattern
,
String
typeNamePattern
,
String
attributeNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
boolean
supportsResultSetHoldability
(
int
holdability
)
throws
SQLException
{
return
false
;
}
public
int
getResultSetHoldability
()
throws
SQLException
{
return
0
;
}
public
int
getDatabaseMajorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getDatabaseMinorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getJDBCMajorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getJDBCMinorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getSQLStateType
()
throws
SQLException
{
return
0
;
}
public
boolean
locatorsUpdateCopy
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsStatementPooling
()
throws
SQLException
{
return
false
;
}
public
RowIdLifetime
getRowIdLifetime
()
throws
SQLException
{
return
null
;
}
public
ResultSet
getSchemas
(
String
catalog
,
String
schemaPattern
)
throws
SQLException
{
return
null
;
}
public
boolean
supportsStoredFunctionsUsingCallSyntax
()
throws
SQLException
{
return
false
;
}
public
boolean
autoCommitFailureClosesAllResultSets
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getClientInfoProperties
()
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getFunctions
(
String
catalog
,
String
schemaPattern
,
String
functionNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getFunctionColumns
(
String
catalog
,
String
schemaPattern
,
String
functionNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getPseudoColumns
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
boolean
generatedKeyAlwaysReturned
()
throws
SQLException
{
return
false
;
}
private
ResultSet
getEmptyResultSet
()
{
return
new
EmptyResultSet
();
}
}
public
ResultSet
getColumns
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
/** add by zyyang **********/
Statement
stmt
=
null
;
if
(
null
!=
conn
&&
!
conn
.
isClosed
())
{
stmt
=
conn
.
createStatement
();
if
(
catalog
==
null
||
catalog
.
length
()
<
1
)
{
catalog
=
conn
.
getCatalog
();
}
stmt
.
executeUpdate
(
"use "
+
catalog
);
DatabaseMetaDataResultSet
resultSet
=
new
DatabaseMetaDataResultSet
();
// set up ColumnMetaDataList
List
<
ColumnMetaData
>
columnMetaDataList
=
new
ArrayList
<>(
24
);
columnMetaDataList
.
add
(
null
);
columnMetaDataList
.
add
(
null
);
// add TABLE_NAME
ColumnMetaData
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
3
);
colMetaData
.
setColName
(
"TABLE_NAME"
);
colMetaData
.
setColSize
(
193
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_BINARY
);
columnMetaDataList
.
add
(
colMetaData
);
// add COLUMN_NAME
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
4
);
colMetaData
.
setColName
(
"COLUMN_NAME"
);
colMetaData
.
setColSize
(
65
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_BINARY
);
columnMetaDataList
.
add
(
colMetaData
);
// add DATA_TYPE
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
5
);
colMetaData
.
setColName
(
"DATA_TYPE"
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_INT
);
columnMetaDataList
.
add
(
colMetaData
);
// add TYPE_NAME
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
6
);
colMetaData
.
setColName
(
"TYPE_NAME"
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_BINARY
);
columnMetaDataList
.
add
(
colMetaData
);
// add COLUMN_SIZE
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
7
);
colMetaData
.
setColName
(
"COLUMN_SIZE"
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_INT
);
columnMetaDataList
.
add
(
colMetaData
);
// add BUFFER_LENGTH ,not used
columnMetaDataList
.
add
(
null
);
// add DECIMAL_DIGITS
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
9
);
colMetaData
.
setColName
(
"DECIMAL_DIGITS"
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_INT
);
columnMetaDataList
.
add
(
colMetaData
);
// add NUM_PREC_RADIX
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
10
);
colMetaData
.
setColName
(
"NUM_PREC_RADIX"
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_INT
);
columnMetaDataList
.
add
(
colMetaData
);
// add NULLABLE
colMetaData
=
new
ColumnMetaData
();
colMetaData
.
setColIndex
(
11
);
colMetaData
.
setColName
(
"NULLABLE"
);
colMetaData
.
setColType
(
TSDBConstants
.
TSDB_DATA_TYPE_INT
);
columnMetaDataList
.
add
(
colMetaData
);
resultSet
.
setColumnMetaDataList
(
columnMetaDataList
);
// set up rowDataList
ResultSet
resultSet0
=
stmt
.
executeQuery
(
"describe "
+
tableNamePattern
);
List
<
TSDBResultSetRowData
>
rowDataList
=
new
ArrayList
<>();
int
index
=
0
;
while
(
resultSet0
.
next
())
{
TSDBResultSetRowData
rowData
=
new
TSDBResultSetRowData
(
24
);
// set TABLE_NAME
rowData
.
setString
(
2
,
tableNamePattern
);
// set COLUMN_NAME
rowData
.
setString
(
3
,
resultSet0
.
getString
(
1
));
// set DATA_TYPE
String
typeName
=
resultSet0
.
getString
(
2
);
rowData
.
setInt
(
4
,
getDataType
(
typeName
));
// set TYPE_NAME
rowData
.
setString
(
5
,
typeName
);
// set COLUMN_SIZE
int
length
=
resultSet0
.
getInt
(
3
);
rowData
.
setInt
(
6
,
getColumnSize
(
typeName
,
length
));
// set DECIMAL_DIGITS
rowData
.
setInt
(
8
,
getDecimalDigits
(
typeName
));
// set NUM_PREC_RADIX
rowData
.
setInt
(
9
,
10
);
// set NULLABLE
rowData
.
setInt
(
10
,
getNullable
(
index
,
typeName
));
rowDataList
.
add
(
rowData
);
index
++;
}
resultSet
.
setRowDataList
(
rowDataList
);
// GetColumnsResultSet getColumnsResultSet = new GetColumnsResultSet(resultSet0, catalog, schemaPattern, tableNamePattern, columnNamePattern);
// return getColumnsResultSet;
// DatabaseMetaDataResultSet resultSet = new DatabaseMetaDataResultSet();
return
resultSet
;
}
else
{
throw
new
SQLException
(
TSDBConstants
.
FixErrMsg
(
TSDBConstants
.
JNI_CONNECTION_NULL
));
}
/*************************/
// return getEmptyResultSet();
}
private
int
getNullable
(
int
index
,
String
typeName
)
{
if
(
index
==
0
&&
"TIMESTAMP"
.
equals
(
typeName
))
return
DatabaseMetaData
.
columnNoNulls
;
return
DatabaseMetaData
.
columnNullable
;
}
private
int
getColumnSize
(
String
typeName
,
int
length
)
{
switch
(
typeName
)
{
case
"TIMESTAMP"
:
return
23
;
default
:
return
0
;
}
}
private
int
getDecimalDigits
(
String
typeName
)
{
switch
(
typeName
)
{
case
"FLOAT"
:
return
5
;
case
"DOUBLE"
:
return
9
;
default
:
return
0
;
}
}
private
int
getDataType
(
String
typeName
)
{
switch
(
typeName
)
{
case
"TIMESTAMP"
:
return
Types
.
TIMESTAMP
;
case
"INT"
:
return
Types
.
INTEGER
;
case
"BIGINT"
:
return
Types
.
BIGINT
;
case
"FLOAT"
:
return
Types
.
FLOAT
;
case
"DOUBLE"
:
return
Types
.
DOUBLE
;
case
"BINARY"
:
return
Types
.
BINARY
;
case
"SMALLINT"
:
return
Types
.
SMALLINT
;
case
"TINYINT"
:
return
Types
.
TINYINT
;
case
"BOOL"
:
return
Types
.
BOOLEAN
;
case
"NCHAR"
:
return
Types
.
NCHAR
;
default
:
return
Types
.
NULL
;
}
}
public
ResultSet
getColumnPrivileges
(
String
catalog
,
String
schema
,
String
table
,
String
columnNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getTablePrivileges
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getBestRowIdentifier
(
String
catalog
,
String
schema
,
String
table
,
int
scope
,
boolean
nullable
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getVersionColumns
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getPrimaryKeys
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getImportedKeys
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getExportedKeys
(
String
catalog
,
String
schema
,
String
table
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getCrossReference
(
String
parentCatalog
,
String
parentSchema
,
String
parentTable
,
String
foreignCatalog
,
String
foreignSchema
,
String
foreignTable
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getTypeInfo
()
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getIndexInfo
(
String
catalog
,
String
schema
,
String
table
,
boolean
unique
,
boolean
approximate
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
boolean
supportsResultSetType
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsResultSetConcurrency
(
int
type
,
int
concurrency
)
throws
SQLException
{
return
false
;
}
public
boolean
ownUpdatesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
ownDeletesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
ownInsertsAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
othersUpdatesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
othersDeletesAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
othersInsertsAreVisible
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
updatesAreDetected
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
deletesAreDetected
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
insertsAreDetected
(
int
type
)
throws
SQLException
{
return
false
;
}
public
boolean
supportsBatchUpdates
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getUDTs
(
String
catalog
,
String
schemaPattern
,
String
typeNamePattern
,
int
[]
types
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
Connection
getConnection
()
throws
SQLException
{
return
null
;
}
public
boolean
supportsSavepoints
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsNamedParameters
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsMultipleOpenResults
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsGetGeneratedKeys
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getSuperTypes
(
String
catalog
,
String
schemaPattern
,
String
typeNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getSuperTables
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getAttributes
(
String
catalog
,
String
schemaPattern
,
String
typeNamePattern
,
String
attributeNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
boolean
supportsResultSetHoldability
(
int
holdability
)
throws
SQLException
{
return
false
;
}
public
int
getResultSetHoldability
()
throws
SQLException
{
return
0
;
}
public
int
getDatabaseMajorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getDatabaseMinorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getJDBCMajorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getJDBCMinorVersion
()
throws
SQLException
{
return
0
;
}
public
int
getSQLStateType
()
throws
SQLException
{
return
0
;
}
public
boolean
locatorsUpdateCopy
()
throws
SQLException
{
return
false
;
}
public
boolean
supportsStatementPooling
()
throws
SQLException
{
return
false
;
}
public
RowIdLifetime
getRowIdLifetime
()
throws
SQLException
{
return
null
;
}
public
ResultSet
getSchemas
(
String
catalog
,
String
schemaPattern
)
throws
SQLException
{
return
null
;
}
public
boolean
supportsStoredFunctionsUsingCallSyntax
()
throws
SQLException
{
return
false
;
}
public
boolean
autoCommitFailureClosesAllResultSets
()
throws
SQLException
{
return
false
;
}
public
ResultSet
getClientInfoProperties
()
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getFunctions
(
String
catalog
,
String
schemaPattern
,
String
functionNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getFunctionColumns
(
String
catalog
,
String
schemaPattern
,
String
functionNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
ResultSet
getPseudoColumns
(
String
catalog
,
String
schemaPattern
,
String
tableNamePattern
,
String
columnNamePattern
)
throws
SQLException
{
return
getEmptyResultSet
();
}
public
boolean
generatedKeyAlwaysReturned
()
throws
SQLException
{
return
false
;
}
private
ResultSet
getEmptyResultSet
()
{
return
new
EmptyResultSet
();
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录