Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
7d989e4f
Unverified
提交
7d989e4f
authored
6 年前
作者:
Evgenij Ryazanov
提交者:
GitHub
6 年前
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1423 from katzyn/misc
Remove incomplete support of old-style outer join
上级
c0a838a1
865e704b
master
version-1.4.198
无相关合并请求
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
13 行增加
和
56 行删除
+13
-56
changelog.html
h2/src/docsrc/html/changelog.html
+10
-0
Parser.java
h2/src/main/org/h2/command/Parser.java
+2
-42
GeneratedKeys.java
h2/src/main/org/h2/engine/GeneratedKeys.java
+1
-1
SysProperties.java
h2/src/main/org/h2/engine/SysProperties.java
+0
-8
MVStore.java
h2/src/main/org/h2/mvstore/MVStore.java
+0
-5
没有找到文件。
h2/src/docsrc/html/changelog.html
浏览文件 @
7d989e4f
...
...
@@ -21,6 +21,16 @@ Change Log
<h2>
Next Version (unreleased)
</h2>
<ul>
<li>
Issue #1421: Remove old-style outer join
</li>
<li>
PR #1419: Assorted minor changes
</li>
<li>
PR #1414: DEFRAG and COMPACT mixup
</li>
<li>
PR #1413: improvements to MVStore garbage collection
</li>
<li>
PR #1412: Added org.h2.store.fs package to exported osgi bundles
</li>
<li>
PR #1409: Map all remaining error codes to custom exception classes
</li>
<li>
Issue #1407: Add a MODE() aggregate function
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/Parser.java
浏览文件 @
7d989e4f
...
...
@@ -141,7 +141,6 @@ import org.h2.engine.Mode.ModeEnum;
import
org.h2.engine.Procedure
;
import
org.h2.engine.Right
;
import
org.h2.engine.Session
;
import
org.h2.engine.SysProperties
;
import
org.h2.engine.User
;
import
org.h2.engine.UserAggregate
;
import
org.h2.engine.UserDataType
;
...
...
@@ -2809,41 +2808,7 @@ public class Parser {
}
read
(
CLOSE_PAREN
);
}
else
{
Expression
right
=
readConcat
();
if
(
SysProperties
.
OLD_STYLE_OUTER_JOIN
&&
readIf
(
OPEN_PAREN
)
&&
readIf
(
PLUS_SIGN
)
&&
readIf
(
CLOSE_PAREN
))
{
// support for a subset of old-fashioned Oracle outer
// join with (+)
if
(
r
instanceof
ExpressionColumn
&&
right
instanceof
ExpressionColumn
)
{
ExpressionColumn
leftCol
=
(
ExpressionColumn
)
r
;
ExpressionColumn
rightCol
=
(
ExpressionColumn
)
right
;
ArrayList
<
TableFilter
>
filters
=
currentSelect
.
getTopFilters
();
for
(
TableFilter
f
:
filters
)
{
while
(
f
!=
null
)
{
leftCol
.
mapColumns
(
f
,
0
);
rightCol
.
mapColumns
(
f
,
0
);
f
=
f
.
getJoin
();
}
}
TableFilter
leftFilter
=
leftCol
.
getTableFilter
();
TableFilter
rightFilter
=
rightCol
.
getTableFilter
();
r
=
new
Comparison
(
session
,
compareType
,
r
,
right
);
if
(
leftFilter
!=
null
&&
rightFilter
!=
null
)
{
int
idx
=
filters
.
indexOf
(
rightFilter
);
if
(
idx
>=
0
)
{
filters
.
remove
(
idx
);
leftFilter
.
addJoin
(
rightFilter
,
true
,
r
);
}
else
{
rightFilter
.
mapAndAddFilter
(
r
);
}
r
=
ValueExpression
.
get
(
ValueBoolean
.
TRUE
);
}
}
}
else
{
r
=
new
Comparison
(
session
,
compareType
,
r
,
right
);
}
r
=
new
Comparison
(
session
,
compareType
,
r
,
readConcat
());
}
}
if
(
not
)
{
...
...
@@ -3313,12 +3278,7 @@ public class Parser {
}
String
name
=
readColumnIdentifier
();
Schema
s
=
database
.
findSchema
(
objectName
);
if
((!
SysProperties
.
OLD_STYLE_OUTER_JOIN
||
s
!=
null
)
&&
readIf
(
OPEN_PAREN
))
{
// only if the token before the dot is a valid schema name,
// otherwise the old style Oracle outer join doesn't work:
// t.x = t2.x(+)
// this additional check is not required
// if the old style outer joins are not supported
if
(
readIf
(
OPEN_PAREN
))
{
return
readFunction
(
s
,
name
);
}
else
if
(
readIf
(
DOT
))
{
String
schema
=
objectName
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/engine/GeneratedKeys.java
浏览文件 @
7d989e4f
...
...
@@ -125,7 +125,7 @@ public final class GeneratedKeys {
* @return local result with generated keys
*/
public
LocalResult
getKeys
(
Session
session
)
{
Database
db
=
session
==
null
?
null
:
session
.
getDatabase
();
Database
db
=
session
.
getDatabase
();
if
(
Boolean
.
FALSE
.
equals
(
generatedKeysRequest
))
{
clear
(
null
);
return
new
LocalResult
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/engine/SysProperties.java
浏览文件 @
7d989e4f
...
...
@@ -326,14 +326,6 @@ public class SysProperties {
}
}
/**
* System property <code>h2.oldStyleOuterJoin</code>
* (default: false).<br />
* Limited support for the old-style Oracle outer join with "(+)".
*/
public
static
final
boolean
OLD_STYLE_OUTER_JOIN
=
Utils
.
getProperty
(
"h2.oldStyleOuterJoin"
,
false
);
/**
* System property {@code h2.oldResultSetGetObject}, {@code true} by default
* unless {@code h2.preview} is enabled.
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/mvstore/MVStore.java
浏览文件 @
7d989e4f
...
...
@@ -18,16 +18,12 @@ import java.util.HashMap;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.PriorityQueue
;
import
java.util.Queue
;
import
java.util.Set
;
import
java.util.concurrent.ArrayBlockingQueue
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ExecutionException
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Future
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.atomic.AtomicInteger
;
...
...
@@ -37,7 +33,6 @@ import org.h2.compress.CompressDeflate;
import
org.h2.compress.CompressLZF
;
import
org.h2.compress.Compressor
;
import
org.h2.engine.Constants
;
import
org.h2.message.DbException
;
import
org.h2.mvstore.cache.CacheLongKeyLIRS
;
import
org.h2.util.MathUtils
;
import
org.h2.util.Utils
;
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论