Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
7e5d933e
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7e5d933e
编写于
4月 14, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#2785 Convert CRLF (into LF) in queries for Oracle 10 and earlier
Former-commit-id:
55b0a726
上级
025ee8d7
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
34 addition
and
10 deletion
+34
-10
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSQLDialect.java
.../org/jkiss/dbeaver/ext/oracle/model/OracleSQLDialect.java
+7
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
...ss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
+2
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
...src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
+7
-7
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/BasicSQLDialect.java
...src/org/jkiss/dbeaver/model/impl/sql/BasicSQLDialect.java
+5
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLDialect.java
...ver.model/src/org/jkiss/dbeaver/model/sql/SQLDialect.java
+6
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLUtils.java
...eaver.model/src/org/jkiss/dbeaver/model/sql/SQLUtils.java
+7
-1
未找到文件。
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSQLDialect.java
浏览文件 @
7e5d933e
...
...
@@ -74,6 +74,7 @@ class OracleSQLDialect extends JDBCSQLDialect {
"ELSIF"
,
"EXIT"
,
};
private
boolean
crlfBroken
;
public
OracleSQLDialect
()
{
super
(
"Oracle"
);
...
...
@@ -81,6 +82,7 @@ class OracleSQLDialect extends JDBCSQLDialect {
public
void
initDriverSettings
(
JDBCDataSource
dataSource
,
JDBCDatabaseMetaData
metaData
)
{
super
.
initDriverSettings
(
dataSource
,
metaData
);
crlfBroken
=
!
dataSource
.
isServerVersionAtLeast
(
11
,
0
);
addFunctions
(
Arrays
.
asList
(
...
...
@@ -384,4 +386,9 @@ class OracleSQLDialect extends JDBCSQLDialect {
public
String
getScriptDelimiter
()
{
return
super
.
getScriptDelimiter
();
}
@Override
public
boolean
isCRLFBroken
()
{
return
crlfBroken
;
}
}
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
浏览文件 @
7e5d933e
...
...
@@ -1005,7 +1005,7 @@ public final class DBUtils {
boolean
scrollable
)
throws
DBCException
{
DBCStatementType
statementType
=
DBCStatementType
.
SCRIPT
;
//query = SQLUtils.makeUnifiedLineFeeds(
query);
query
=
SQLUtils
.
makeUnifiedLineFeeds
(
session
.
getDataSource
(),
query
);
if
(
SQLUtils
.
isExecQuery
(
SQLUtils
.
getDialectFromObject
(
session
.
getDataSource
()),
query
))
{
statementType
=
DBCStatementType
.
EXEC
;
}
...
...
@@ -1025,7 +1025,7 @@ public final class DBUtils {
{
DBCStatementType
statementType
=
DBCStatementType
.
QUERY
;
// Normalize query
//query = SQLUtils.makeUnifiedLineFeeds(
query);
query
=
SQLUtils
.
makeUnifiedLineFeeds
(
session
.
getDataSource
(),
query
);
if
(
SQLUtils
.
isExecQuery
(
SQLUtils
.
getDialectFromObject
(
session
.
getDataSource
()),
query
))
{
statementType
=
DBCStatementType
.
EXEC
;
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
浏览文件 @
7e5d933e
...
...
@@ -342,6 +342,13 @@ public abstract class JDBCDataSource
try
(
JDBCSession
session
=
DBUtils
.
openMetaSession
(
monitor
,
this
,
ModelMessages
.
model_jdbc_read_database_meta_data
))
{
JDBCDatabaseMetaData
metaData
=
session
.
getMetaData
();
try
{
databaseMajorVersion
=
metaData
.
getDatabaseMajorVersion
();
databaseMinorVersion
=
metaData
.
getDatabaseMinorVersion
();
}
catch
(
Throwable
e
)
{
log
.
error
(
"Error determining server version"
,
e
);
}
if
(
this
.
sqlDialect
instanceof
JDBCSQLDialect
)
{
try
{
((
JDBCSQLDialect
)
this
.
sqlDialect
).
initDriverSettings
(
this
,
metaData
);
...
...
@@ -350,13 +357,6 @@ public abstract class JDBCDataSource
}
}
try
{
databaseMajorVersion
=
metaData
.
getDatabaseMajorVersion
();
databaseMinorVersion
=
metaData
.
getDatabaseMinorVersion
();
}
catch
(
Throwable
e
)
{
log
.
error
(
"Error determining server version"
,
e
);
}
try
{
dataSourceInfo
=
createDataSourceInfo
(
metaData
);
}
catch
(
Throwable
e
)
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/BasicSQLDialect.java
浏览文件 @
7e5d933e
...
...
@@ -456,6 +456,11 @@ public class BasicSQLDialect implements SQLDialect {
return
true
;
}
@Override
public
boolean
isCRLFBroken
()
{
return
false
;
}
protected
boolean
isStandardSQL
()
{
return
true
;
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLDialect.java
浏览文件 @
7e5d933e
...
...
@@ -288,6 +288,12 @@ public interface SQLDialect {
*/
boolean
isQuoteReservedWords
();
/**
* Reports about broken CRLF. Queries mustn't contain CRLF line feeds, only LF.
* This actually seems to be Oracle 9 and earlier JDBC driver issue.
*/
boolean
isCRLFBroken
();
@NotNull
DBDBinaryFormatter
getNativeBinaryFormatter
();
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLUtils.java
浏览文件 @
7e5d933e
...
...
@@ -263,11 +263,17 @@ public final class SQLUtils {
* Removes \\r characters from query.
* Actually this is done specially for Oracle due to some bug in it's driver
*
*
* @param dataSource
* @param query query
* @return normalized query
*/
public
static
String
makeUnifiedLineFeeds
(
String
query
)
public
static
String
makeUnifiedLineFeeds
(
DBPDataSource
dataSource
,
String
query
)
{
SQLDialect
dialect
=
SQLUtils
.
getDialectFromDataSource
(
dataSource
);
if
(!
dialect
.
isCRLFBroken
())
{
return
query
;
}
if
(
query
.
indexOf
(
'\r'
)
==
-
1
)
{
return
query
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录