Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
b9d65f7b
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,发现更多精彩内容 >>
提交
b9d65f7b
编写于
6月 10, 2014
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Logical operator model
上级
18d5f735
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
51 addition
and
31 deletion
+51
-31
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/DBUtils.java
...iss.dbeaver.core/src/org/jkiss/dbeaver/model/DBUtils.java
+26
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/data/DBDValueHandler.java
...ore/src/org/jkiss/dbeaver/model/data/DBDValueHandler.java
+3
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/exec/DBCLogicalOperator.java
.../src/org/jkiss/dbeaver/model/exec/DBCLogicalOperator.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/impl/DBCDefaultValueHandler.java
.../org/jkiss/dbeaver/model/impl/DBCDefaultValueHandler.java
+6
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCAbstractValueHandler.java
...beaver/model/impl/jdbc/data/JDBCAbstractValueHandler.java
+6
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+9
-18
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/DBUtils.java
浏览文件 @
b9d65f7b
...
...
@@ -1311,4 +1311,30 @@ public final class DBUtils {
((
DBDContent
)
value
).
resetContents
();
}
}
public
static
DBCLogicalOperator
[]
getDefaultOperators
(
DBSAttributeBase
attribute
)
{
List
<
DBCLogicalOperator
>
operators
=
new
ArrayList
<
DBCLogicalOperator
>();
DBPDataKind
dataKind
=
attribute
.
getDataKind
();
if
(!
attribute
.
isRequired
())
{
operators
.
add
(
DBCLogicalOperator
.
IS_NULL
);
operators
.
add
(
DBCLogicalOperator
.
IS_NOT_NULL
);
}
if
(
dataKind
==
DBPDataKind
.
BOOLEAN
)
{
operators
.
add
(
DBCLogicalOperator
.
EQUALS
);
operators
.
add
(
DBCLogicalOperator
.
NOT_EQUALS
);
}
if
(
dataKind
==
DBPDataKind
.
NUMERIC
||
dataKind
==
DBPDataKind
.
DATETIME
||
dataKind
==
DBPDataKind
.
STRING
)
{
operators
.
add
(
DBCLogicalOperator
.
EQUALS
);
operators
.
add
(
DBCLogicalOperator
.
NOT_EQUALS
);
operators
.
add
(
DBCLogicalOperator
.
GREATER
);
//operators.add(DBCLogicalOperator.GREATER_EQUALS);
operators
.
add
(
DBCLogicalOperator
.
LESS
);
//operators.add(DBCLogicalOperator.LESS_EQUALS);
}
if
(
dataKind
==
DBPDataKind
.
STRING
)
{
operators
.
add
(
DBCLogicalOperator
.
LESS
);
operators
.
add
(
DBCLogicalOperator
.
LIKE
);
}
return
operators
.
toArray
(
new
DBCLogicalOperator
[
operators
.
size
()]);
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/data/DBDValueHandler.java
浏览文件 @
b9d65f7b
...
...
@@ -23,10 +23,7 @@ import org.eclipse.jface.action.IContributionManager;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
import
org.jkiss.dbeaver.model.exec.DBCStatement
;
import
org.jkiss.dbeaver.model.exec.*
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
import
org.jkiss.dbeaver.ui.properties.PropertySourceAbstract
;
...
...
@@ -162,4 +159,6 @@ public interface DBDValueHandler
DBDValueEditor
createEditor
(
@NotNull
DBDValueController
controller
)
throws
DBException
;
DBCLogicalOperator
[]
getSupportedOperators
(
@NotNull
DBDAttributeBinding
attribute
);
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/exec/DBCLogicalOperator.java
浏览文件 @
b9d65f7b
...
...
@@ -29,7 +29,7 @@ public class DBCLogicalOperator {
public
static
final
DBCLogicalOperator
GREATER
=
new
DBCLogicalOperator
(
">"
,
1
);
public
static
final
DBCLogicalOperator
GREATER_EQUALS
=
new
DBCLogicalOperator
(
">="
,
1
);
public
static
final
DBCLogicalOperator
LESS
=
new
DBCLogicalOperator
(
"<"
,
1
);
public
static
final
DBCLogicalOperator
LESS_EQUALS
=
new
DBCLogicalOperator
(
"
>
="
,
1
);
public
static
final
DBCLogicalOperator
LESS_EQUALS
=
new
DBCLogicalOperator
(
"
<
="
,
1
);
public
static
final
DBCLogicalOperator
IS_NULL
=
new
DBCLogicalOperator
(
"IS NULL"
,
0
);
public
static
final
DBCLogicalOperator
IS_NOT_NULL
=
new
DBCLogicalOperator
(
"IS NOT NULL"
,
0
);
public
static
final
DBCLogicalOperator
BETWEEN
=
new
DBCLogicalOperator
(
"BETWEEN"
,
2
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/impl/DBCDefaultValueHandler.java
浏览文件 @
b9d65f7b
...
...
@@ -27,10 +27,7 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.data.*
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
import
org.jkiss.dbeaver.model.exec.DBCStatement
;
import
org.jkiss.dbeaver.model.exec.*
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
import
org.jkiss.dbeaver.ui.dialogs.data.TextViewDialog
;
import
org.jkiss.dbeaver.ui.properties.PropertySourceAbstract
;
...
...
@@ -132,4 +129,9 @@ public class DBCDefaultValueHandler implements DBDValueHandler {
}
}
@Override
public
DBCLogicalOperator
[]
getSupportedOperators
(
@NotNull
DBDAttributeBinding
attribute
)
{
return
DBUtils
.
getDefaultOperators
(
attribute
);
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCAbstractValueHandler.java
浏览文件 @
b9d65f7b
...
...
@@ -33,10 +33,7 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.data.*
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
import
org.jkiss.dbeaver.model.exec.DBCStatement
;
import
org.jkiss.dbeaver.model.exec.*
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCResultSet
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCSession
;
...
...
@@ -119,6 +116,11 @@ public abstract class JDBCAbstractValueHandler implements DBDValueHandler {
Object
value
)
throws
DBCException
,
SQLException
;
@Override
public
DBCLogicalOperator
[]
getSupportedOperators
(
@NotNull
DBDAttributeBinding
attribute
)
{
return
DBUtils
.
getDefaultOperators
(
attribute
);
}
protected
abstract
class
ValueEditor
<
T
extends
Control
>
implements
DBDValueEditor
{
protected
final
DBDValueController
valueController
;
protected
final
T
control
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
b9d65f7b
...
...
@@ -1520,10 +1520,11 @@ public class ResultSetViewer extends Viewer
private
void
fillFiltersMenu
(
@NotNull
DBDAttributeBinding
column
,
@NotNull
IMenuManager
filtersMenu
)
{
if
(
supportsDataFilter
())
{
DBPDataKind
dataKind
=
column
.
getDataKind
();
if
(!
column
.
isRequired
())
{
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
IS_NULL
,
FilterByColumnType
.
NONE
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
IS_NOT_NULL
,
FilterByColumnType
.
NONE
,
column
));
DBCLogicalOperator
[]
operators
=
column
.
getValueHandler
().
getSupportedOperators
(
column
);
for
(
DBCLogicalOperator
operator
:
operators
)
{
if
(
operator
.
getArgumentCount
()
==
0
)
{
filtersMenu
.
add
(
new
FilterByColumnAction
(
operator
,
FilterByColumnType
.
NONE
,
column
));
}
}
for
(
FilterByColumnType
type
:
FilterByColumnType
.
values
())
{
if
(
type
==
FilterByColumnType
.
NONE
)
{
...
...
@@ -1535,20 +1536,10 @@ public class ResultSetViewer extends Viewer
// Null cell value - no operators can be applied
continue
;
}
if
(
dataKind
==
DBPDataKind
.
BOOLEAN
)
{
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
EQUALS
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
NOT_EQUALS
,
type
,
column
));
}
else
if
(
dataKind
==
DBPDataKind
.
NUMERIC
||
dataKind
==
DBPDataKind
.
DATETIME
)
{
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
EQUALS
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
NOT_EQUALS
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
GREATER
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
LESS
,
type
,
column
));
}
else
if
(
dataKind
==
DBPDataKind
.
STRING
)
{
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
EQUALS
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
NOT_EQUALS
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
GREATER
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
LESS
,
type
,
column
));
filtersMenu
.
add
(
new
FilterByColumnAction
(
DBCLogicalOperator
.
LIKE
,
type
,
column
));
for
(
DBCLogicalOperator
operator
:
operators
)
{
if
(
operator
.
getArgumentCount
()
>
0
)
{
filtersMenu
.
add
(
new
FilterByColumnAction
(
operator
,
type
,
column
));
}
}
}
filtersMenu
.
add
(
new
Separator
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录