Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
b9b9e11a
Unverified
提交
b9b9e11a
authored
1月 17, 2018
作者:
Noel Grandin
提交者:
GitHub
1月 17, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #774 from katzyn/misc
Assorted changes
上级
6616409f
dd400e1b
显示空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
64 行增加
和
53 行删除
+64
-53
.gitattributes
h2/.gitattributes
+1
-0
changelog.html
h2/src/docsrc/html/changelog.html
+5
-5
Select.java
h2/src/main/org/h2/command/dml/Select.java
+10
-10
SelectUnion.java
h2/src/main/org/h2/command/dml/SelectUnion.java
+2
-2
FullText.java
h2/src/main/org/h2/fulltext/FullText.java
+1
-1
FullTextLucene.java
h2/src/main/org/h2/fulltext/FullTextLucene.java
+4
-4
MVSecondaryIndex.java
h2/src/main/org/h2/mvstore/db/MVSecondaryIndex.java
+4
-4
TransactionStore.java
h2/src/main/org/h2/mvstore/db/TransactionStore.java
+1
-1
WebServer.java
h2/src/main/org/h2/server/web/WebServer.java
+0
-1
Column.java
h2/src/main/org/h2/table/Column.java
+1
-0
MathUtils.java
h2/src/main/org/h2/util/MathUtils.java
+1
-1
ToChar.java
h2/src/main/org/h2/util/ToChar.java
+1
-1
CharsetCollator.java
h2/src/main/org/h2/value/CharsetCollator.java
+2
-2
Value.java
h2/src/main/org/h2/value/Value.java
+1
-0
TestGeneralCommonTableQueries.java
...rc/test/org/h2/test/db/TestGeneralCommonTableQueries.java
+7
-7
TestPersistentCommonTableExpressions.java
.../org/h2/test/db/TestPersistentCommonTableExpressions.java
+17
-10
TestSetCollation.java
h2/src/test/org/h2/test/db/TestSetCollation.java
+0
-1
TestCustomDataTypesHandler.java
h2/src/test/org/h2/test/jdbc/TestCustomDataTypesHandler.java
+2
-2
TestMvccMultiThreaded2.java
h2/src/test/org/h2/test/mvcc/TestMvccMultiThreaded2.java
+3
-0
ArchiveTool.java
h2/src/tools/org/h2/dev/fs/ArchiveTool.java
+1
-1
没有找到文件。
h2/.gitattributes
浏览文件 @
b9b9e11a
*.bat eol=crlf
*.sh eol=lf
*.java diff=java
h2/src/docsrc/html/changelog.html
浏览文件 @
b9b9e11a
h2/src/main/org/h2/command/dml/Select.java
浏览文件 @
b9b9e11a
...
...
@@ -43,19 +43,19 @@ import java.util.HashSet;
* @author Joel Turkel (Group sorted query)
*/
public
class
Select
extends
Query
{
private
TableFilter
topTableFilter
;
TableFilter
topTableFilter
;
private
final
ArrayList
<
TableFilter
>
filters
=
New
.
arrayList
();
private
final
ArrayList
<
TableFilter
>
topFilters
=
New
.
arrayList
();
private
ArrayList
<
Expression
>
expressions
;
ArrayList
<
Expression
>
expressions
;
private
Expression
[]
expressionArray
;
private
Expression
having
;
private
Expression
condition
;
private
int
visibleColumnCount
,
distinctColumnCount
;
int
visibleColumnCount
,
distinctColumnCount
;
private
ArrayList
<
SelectOrderBy
>
orderList
;
private
ArrayList
<
Expression
>
group
;
private
int
[]
groupIndex
;
private
boolean
[]
groupByExpression
;
private
HashMap
<
Expression
,
Object
>
currentGroup
;
int
[]
groupIndex
;
boolean
[]
groupByExpression
;
HashMap
<
Expression
,
Object
>
currentGroup
;
private
int
havingIndex
;
private
boolean
isGroupQuery
,
isGroupSortedQuery
;
private
boolean
isForUpdate
,
isForUpdateMvcc
;
...
...
@@ -64,7 +64,7 @@ public class Select extends Query {
private
boolean
isPrepared
,
checkInit
;
private
boolean
sortUsingIndex
;
private
SortOrder
sort
;
private
int
currentGroupRowId
;
int
currentGroupRowId
;
public
Select
(
Session
session
)
{
super
(
session
);
...
...
@@ -164,7 +164,7 @@ public class Select extends Query {
return
null
;
}
private
Value
[]
createGroupSortedRow
(
Value
[]
keyValues
,
int
columnCount
)
{
Value
[]
createGroupSortedRow
(
Value
[]
keyValues
,
int
columnCount
)
{
Value
[]
row
=
new
Value
[
columnCount
];
for
(
int
j
=
0
;
groupIndex
!=
null
&&
j
<
groupIndex
.
length
;
j
++)
{
row
[
groupIndex
[
j
]]
=
keyValues
[
j
];
...
...
@@ -280,7 +280,7 @@ public class Select extends Query {
return
count
;
}
private
boolean
isConditionMet
()
{
boolean
isConditionMet
()
{
return
condition
==
null
||
Boolean
.
TRUE
.
equals
(
condition
.
getBooleanValue
(
session
));
}
...
...
@@ -640,7 +640,7 @@ public class Select extends Query {
return
null
;
}
private
void
resetJoinBatchAfterQuery
()
{
void
resetJoinBatchAfterQuery
()
{
JoinBatch
jb
=
getJoinBatch
();
if
(
jb
!=
null
)
{
jb
.
reset
(
false
);
...
...
h2/src/main/org/h2/command/dml/SelectUnion.java
浏览文件 @
b9b9e11a
...
...
@@ -59,8 +59,8 @@ public class SelectUnion extends Query {
public
static
final
int
INTERSECT
=
3
;
private
int
unionType
;
private
final
Query
left
;
private
Query
right
;
final
Query
left
;
Query
right
;
private
ArrayList
<
Expression
>
expressions
;
private
Expression
[]
expressionArray
;
private
ArrayList
<
SelectOrderBy
>
orderList
;
...
...
h2/src/main/org/h2/fulltext/FullText.java
浏览文件 @
b9b9e11a
...
...
@@ -955,7 +955,7 @@ public class FullText {
}
}
private
static
boolean
isMultiThread
(
Connection
conn
)
static
boolean
isMultiThread
(
Connection
conn
)
throws
SQLException
{
try
(
Statement
stat
=
conn
.
createStatement
())
{
ResultSet
rs
=
stat
.
executeQuery
(
...
...
h2/src/main/org/h2/fulltext/FullTextLucene.java
浏览文件 @
b9b9e11a
...
...
@@ -581,7 +581,7 @@ public class FullTextLucene extends FullText {
/**
* Commit all changes to the Lucene index.
*/
private
void
commitIndex
()
throws
SQLException
{
void
commitIndex
()
throws
SQLException
{
try
{
indexAccess
.
commit
();
}
catch
(
IOException
e
)
{
...
...
@@ -697,18 +697,18 @@ public class FullTextLucene extends FullText {
*/
private
IndexSearcher
searcher
;
private
IndexAccess
(
IndexWriter
writer
)
throws
IOException
{
IndexAccess
(
IndexWriter
writer
)
throws
IOException
{
this
.
writer
=
writer
;
IndexReader
reader
=
IndexReader
.
open
(
writer
,
true
);
searcher
=
new
IndexSearcher
(
reader
);
}
private
synchronized
IndexSearcher
getSearcher
()
{
synchronized
IndexSearcher
getSearcher
()
{
++
counter
;
return
searcher
;
}
private
synchronized
void
returnSearcher
(
IndexSearcher
searcher
)
{
synchronized
void
returnSearcher
(
IndexSearcher
searcher
)
{
if
(
this
.
searcher
==
searcher
)
{
--
counter
;
assert
counter
>=
0
;
...
...
h2/src/main/org/h2/mvstore/db/MVSecondaryIndex.java
浏览文件 @
b9b9e11a
...
...
@@ -43,7 +43,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
/**
* The multi-value table.
*/
private
final
MVTable
mvTable
;
final
MVTable
mvTable
;
private
final
int
keyColumns
;
private
final
TransactionMap
<
Value
,
Value
>
dataMap
;
...
...
@@ -85,7 +85,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
private
static
final
class
Source
{
private
final
Iterator
<
ValueArray
>
iterator
;
private
ValueArray
currentRowData
;
ValueArray
currentRowData
;
public
Source
(
Iterator
<
ValueArray
>
iterator
)
{
this
.
iterator
=
iterator
;
...
...
@@ -338,7 +338,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
* @param key the index key
* @return the row
*/
private
SearchRow
convertToSearchRow
(
ValueArray
key
)
{
SearchRow
convertToSearchRow
(
ValueArray
key
)
{
Value
[]
array
=
key
.
getList
();
SearchRow
searchRow
=
mvTable
.
getTemplateRow
();
searchRow
.
setKey
((
array
[
array
.
length
-
1
]).
getLong
());
...
...
@@ -481,7 +481,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
private
SearchRow
searchRow
;
private
Row
row
;
private
MVStoreCursor
(
Session
session
,
Iterator
<
Value
>
it
,
SearchRow
last
)
{
MVStoreCursor
(
Session
session
,
Iterator
<
Value
>
it
,
SearchRow
last
)
{
this
.
session
=
session
;
this
.
it
=
it
;
this
.
last
=
last
;
...
...
h2/src/main/org/h2/mvstore/db/TransactionStore.java
浏览文件 @
b9b9e11a
...
...
@@ -896,7 +896,7 @@ public class TransactionStore {
*/
final
MVMap
<
K
,
VersionedValue
>
map
;
private
final
Transaction
transaction
;
final
Transaction
transaction
;
TransactionMap
(
Transaction
transaction
,
MVMap
<
K
,
VersionedValue
>
map
,
int
mapId
)
{
...
...
h2/src/main/org/h2/server/web/WebServer.java
浏览文件 @
b9b9e11a
...
...
@@ -24,7 +24,6 @@ import java.util.Map;
import
java.util.Map.Entry
;
import
java.util.Properties
;
import
java.util.Set
;
import
java.util.TimeZone
;
import
org.h2.engine.Constants
;
import
org.h2.engine.SysProperties
;
import
org.h2.message.DbException
;
...
...
h2/src/main/org/h2/table/Column.java
浏览文件 @
b9b9e11a
...
...
@@ -497,6 +497,7 @@ public class Column {
}
}
buff
.
append
(
')'
);
break
;
case
Value
.
BYTES
:
case
Value
.
STRING
:
case
Value
.
STRING_IGNORECASE
:
...
...
h2/src/main/org/h2/util/MathUtils.java
浏览文件 @
b9b9e11a
...
...
@@ -205,7 +205,7 @@ public class MathUtils {
* @param s the message to print
* @param t the stack trace
*/
private
static
void
warn
(
String
s
,
Throwable
t
)
{
static
void
warn
(
String
s
,
Throwable
t
)
{
// not a fatal problem, but maybe reduced security
System
.
out
.
println
(
"Warning: "
+
s
);
if
(
t
!=
null
)
{
...
...
h2/src/main/org/h2/util/ToChar.java
浏览文件 @
b9b9e11a
...
...
@@ -914,7 +914,7 @@ public class ToChar {
* @return the capitalization / casing strategy which should be used
* when the first and second letters have the specified casing
*/
private
static
Capitalization
toCapitalization
(
Boolean
up1
,
Boolean
up2
)
{
static
Capitalization
toCapitalization
(
Boolean
up1
,
Boolean
up2
)
{
if
(
up1
==
null
)
{
return
Capitalization
.
CAPITALIZE
;
}
else
if
(
up2
==
null
)
{
...
...
h2/src/main/org/h2/value/CharsetCollator.java
浏览文件 @
b9b9e11a
...
...
@@ -15,7 +15,7 @@ import java.util.Comparator;
*/
public
class
CharsetCollator
extends
Collator
{
private
static
final
Comparator
<
byte
[]>
COMPARATOR
=
new
Comparator
<
byte
[]>()
{
static
final
Comparator
<
byte
[]>
COMPARATOR
=
new
Comparator
<
byte
[]>()
{
@Override
public
int
compare
(
byte
[]
b1
,
byte
[]
b2
)
{
int
minLength
=
Math
.
min
(
b1
.
length
,
b2
.
length
);
...
...
@@ -43,7 +43,7 @@ public class CharsetCollator extends Collator {
return
COMPARATOR
.
compare
(
toBytes
(
source
),
toBytes
(
target
));
}
private
byte
[]
toBytes
(
String
source
)
{
byte
[]
toBytes
(
String
source
)
{
return
source
.
getBytes
(
charset
);
}
...
...
h2/src/main/org/h2/value/Value.java
浏览文件 @
b9b9e11a
...
...
@@ -985,6 +985,7 @@ public abstract class Value {
if
(
DataType
.
isGeometry
(
object
))
{
return
ValueGeometry
.
getFromGeometry
(
object
);
}
//$FALL-THROUGH$
case
TIMESTAMP_TZ:
throw
DbException
.
get
(
ErrorCode
.
DATA_CONVERSION_ERROR_1
,
getString
());
...
...
h2/src/test/org/h2/test/db/TestGeneralCommonTableQueries.java
浏览文件 @
b9b9e11a
h2/src/test/org/h2/test/db/TestPersistentCommonTableExpressions.java
浏览文件 @
b9b9e11a
...
...
@@ -5,6 +5,7 @@
*/
package
org
.
h2
.
test
.
db
;
import
org.h2.engine.SysProperties
;
import
org.h2.test.TestBase
;
/**
...
...
@@ -32,8 +33,14 @@ public class TestPersistentCommonTableExpressions extends AbstractBaseForCommonT
}
private
void
testRecursiveTable
()
throws
Exception
{
String
numericName
;
if
(
SysProperties
.
BIG_DECIMAL_IS_DECIMAL
)
{
numericName
=
"DECIMAL"
;
}
else
{
numericName
=
"NUMERIC"
;
}
String
[]
expectedRowData
=
new
String
[]{
"|meat|null"
,
"|fruit|3"
,
"|veg|2"
};
String
[]
expectedColumnTypes
=
new
String
[]{
"VARCHAR"
,
"DECIMAL"
};
String
[]
expectedColumnTypes
=
new
String
[]{
"VARCHAR"
,
numericName
};
String
[]
expectedColumnNames
=
new
String
[]{
"VAL"
,
"SUM(SELECT\n"
+
" X\n"
+
...
...
h2/src/test/org/h2/test/db/TestSetCollation.java
浏览文件 @
b9b9e11a
...
...
@@ -156,7 +156,6 @@ public class TestSetCollation extends TestBase {
private
List
<
String
>
orderedWithCollator
(
String
collator
)
throws
SQLException
{
deleteDb
(
DB_NAME
);
try
(
Connection
con
=
getConnection
(
DB_NAME
);
Statement
statement
=
con
.
createStatement
())
{
;
if
(
collator
!=
null
)
{
statement
.
execute
(
"SET COLLATION "
+
collator
);
}
...
...
h2/src/test/org/h2/test/jdbc/TestCustomDataTypesHandler.java
浏览文件 @
b9b9e11a
...
...
@@ -439,12 +439,12 @@ public class TestCustomDataTypesHandler extends TestBase {
/**
* Real part
*/
private
double
re
;
double
re
;
/**
* Imaginary part
*/
private
double
im
;
double
im
;
/**
* @param re real part
...
...
h2/src/test/org/h2/test/mvcc/TestMvccMultiThreaded2.java
浏览文件 @
b9b9e11a
...
...
@@ -111,6 +111,9 @@ public class TestMvccMultiThreaded2 extends TestBase {
public
int
iterationsProcessed
;
SelectForUpdate
()
{
}
@Override
public
void
run
()
{
final
long
start
=
System
.
currentTimeMillis
();
...
...
h2/src/tools/org/h2/dev/fs/ArchiveTool.java
浏览文件 @
b9b9e11a
...
...
@@ -656,7 +656,7 @@ public class ArchiveTool {
}
}
int
[]
key
=
new
int
[
4
];
;
// TODO test if cs makes a difference
// TODO test if cs makes a difference
key
[
0
]
=
(
int
)
(
min
>>>
32
);
key
[
1
]
=
(
int
)
min
;
key
[
2
]
=
cs
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论