Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
6089c852
提交
6089c852
authored
11 年前
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Formatting / Javadocs
上级
5d727252
master
noel-pr1
plus33-master
pr/267
stumc-Issue#576
version-1.4.198
version-1.4.197
version-1.4.196
version-1.4.195
version-1.4.194
version-1.4.193
version-1.4.192
version-1.4.191
version-1.4.190
version-1.4.188
version-1.4.187
version-1.4.186
version-1.4.185
version-1.4.184
version-1.4.183
version-1.4.182
version-1.4.181
version-1.4.178
version-1.4.177
version-1.3
无相关合并请求
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
99 行增加
和
53 行删除
+99
-53
AlterSequence.java
h2/src/main/org/h2/command/dml/AlterSequence.java
+5
-5
BackupCommand.java
h2/src/main/org/h2/command/dml/BackupCommand.java
+1
-1
Replace.java
h2/src/main/org/h2/command/dml/Replace.java
+1
-1
SpatialTreeIndex.java
h2/src/main/org/h2/index/SpatialTreeIndex.java
+2
-8
Sequence.java
h2/src/main/org/h2/schema/Sequence.java
+24
-6
Task.java
h2/src/main/org/h2/util/Task.java
+2
-2
TestAll.java
h2/src/test/org/h2/test/TestAll.java
+4
-2
TestLob.java
h2/src/test/org/h2/test/db/TestLob.java
+10
-4
TestReplace.java
h2/src/test/org/h2/test/db/TestReplace.java
+8
-2
TestSequence.java
h2/src/test/org/h2/test/db/TestSequence.java
+31
-16
TestView.java
h2/src/test/org/h2/test/db/TestView.java
+6
-2
CacheLIRS.java
h2/src/tools/org/h2/dev/cache/CacheLIRS.java
+5
-4
没有找到文件。
h2/src/main/org/h2/command/dml/AlterSequence.java
浏览文件 @
6089c852
...
@@ -111,12 +111,12 @@ public class AlterSequence extends SchemaCommand {
...
@@ -111,12 +111,12 @@ public class AlterSequence extends SchemaCommand {
}
}
private
Long
getLong
(
Expression
expr
)
{
private
Long
getLong
(
Expression
expr
)
{
if
(
expr
==
null
)
{
if
(
expr
==
null
)
{
return
null
;
return
null
;
}
}
return
expr
.
optimize
(
session
).
getValue
(
session
).
getLong
();
return
expr
.
optimize
(
session
).
getValue
(
session
).
getLong
();
}
}
@Override
@Override
public
int
getType
()
{
public
int
getType
()
{
return
CommandInterface
.
ALTER_SEQUENCE
;
return
CommandInterface
.
ALTER_SEQUENCE
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/dml/BackupCommand.java
浏览文件 @
6089c852
...
@@ -61,7 +61,7 @@ public class BackupCommand extends Prepared {
...
@@ -61,7 +61,7 @@ public class BackupCommand extends Prepared {
try
{
try
{
Store
store
=
db
.
getMvStore
();
Store
store
=
db
.
getMvStore
();
if
(
store
!=
null
)
{
if
(
store
!=
null
)
{
store
.
store
();
store
.
flush
();
}
}
String
name
=
db
.
getName
();
String
name
=
db
.
getName
();
name
=
FileUtils
.
getName
(
name
);
name
=
FileUtils
.
getName
(
name
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/command/dml/Replace.java
浏览文件 @
6089c852
...
@@ -175,7 +175,7 @@ public class Replace extends Prepared {
...
@@ -175,7 +175,7 @@ public class Replace extends Prepared {
}
}
private
int
update
(
Row
row
)
{
private
int
update
(
Row
row
)
{
// if there is no valid primary key,
// if there is no valid primary key,
// the statement degenerates to an INSERT
// the statement degenerates to an INSERT
if
(
update
==
null
)
{
if
(
update
==
null
)
{
return
0
;
return
0
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/index/SpatialTreeIndex.java
浏览文件 @
6089c852
...
@@ -43,7 +43,6 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
...
@@ -43,7 +43,6 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
private
boolean
closed
;
private
boolean
closed
;
private
boolean
needRebuild
;
private
boolean
needRebuild
;
private
boolean
persistent
;
/**
/**
* Constructor.
* Constructor.
...
@@ -52,8 +51,8 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
...
@@ -52,8 +51,8 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
* @param id the index id
* @param id the index id
* @param indexName the index name
* @param indexName the index name
* @param columns the indexed columns (only one geometry column allowed)
* @param columns the indexed columns (only one geometry column allowed)
* @param persistent whether the index should be persisted
* @param indexType the index type (only spatial index)
* @param indexType the index type (only spatial index)
* @param persistent whether the index data should be persisted
* @param create whether to create a new index
* @param create whether to create a new index
* @param session the session.
* @param session the session.
*/
*/
...
@@ -80,7 +79,6 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
...
@@ -80,7 +79,6 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
}
}
initBaseIndex
(
table
,
id
,
indexName
,
columns
,
indexType
);
initBaseIndex
(
table
,
id
,
indexName
,
columns
,
indexType
);
this
.
needRebuild
=
create
;
this
.
needRebuild
=
create
;
this
.
persistent
=
persistent
;
this
.
table
=
table
;
this
.
table
=
table
;
if
(!
database
.
isStarting
())
{
if
(!
database
.
isStarting
())
{
if
(
columns
[
0
].
column
.
getType
()
!=
Value
.
GEOMETRY
)
{
if
(
columns
[
0
].
column
.
getType
()
!=
Value
.
GEOMETRY
)
{
...
@@ -111,11 +109,7 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
...
@@ -111,11 +109,7 @@ public class SpatialTreeIndex extends BaseIndex implements SpatialIndex {
@Override
@Override
public
void
close
(
Session
session
)
{
public
void
close
(
Session
session
)
{
if
(
persistent
)
{
store
.
close
();
store
.
store
();
}
else
{
store
.
close
();
}
closed
=
true
;
closed
=
true
;
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/schema/Sequence.java
浏览文件 @
6089c852
...
@@ -36,6 +36,12 @@ public class Sequence extends SchemaObjectBase {
...
@@ -36,6 +36,12 @@ public class Sequence extends SchemaObjectBase {
/**
/**
* Creates a new sequence for an auto-increment column.
* Creates a new sequence for an auto-increment column.
*
* @param schema the schema
* @param id the object id
* @param name the sequence name
* @param startValue the first value to return
* @param increment the increment count
*/
*/
public
Sequence
(
Schema
schema
,
int
id
,
String
name
,
long
startValue
,
long
increment
)
{
public
Sequence
(
Schema
schema
,
int
id
,
String
name
,
long
startValue
,
long
increment
)
{
this
(
schema
,
id
,
name
,
startValue
,
increment
,
null
,
null
,
null
,
false
,
true
);
this
(
schema
,
id
,
name
,
startValue
,
increment
,
null
,
null
,
null
,
false
,
true
);
...
@@ -43,6 +49,18 @@ public class Sequence extends SchemaObjectBase {
...
@@ -43,6 +49,18 @@ public class Sequence extends SchemaObjectBase {
/**
/**
* Creates a new sequence.
* Creates a new sequence.
*
* @param schema the schema
* @param id the object id
* @param name the sequence name
* @param startValue the first value to return
* @param increment the increment count
* @param cacheSize the number of entries to pre-fetch
* @param minValue the minimum value
* @param maxValue the maximum value
* @param cycle whether to jump back to the min value if needed
* @param belongsToTable whether this sequence belongs to a table (for
* auto-increment columns)
*/
*/
public
Sequence
(
Schema
schema
,
int
id
,
String
name
,
Long
startValue
,
Long
increment
,
Long
cacheSize
,
public
Sequence
(
Schema
schema
,
int
id
,
String
name
,
Long
startValue
,
Long
increment
,
Long
cacheSize
,
Long
minValue
,
Long
maxValue
,
boolean
cycle
,
boolean
belongsToTable
)
{
Long
minValue
,
Long
maxValue
,
boolean
cycle
,
boolean
belongsToTable
)
{
...
@@ -98,9 +116,9 @@ public class Sequence extends SchemaObjectBase {
...
@@ -98,9 +116,9 @@ public class Sequence extends SchemaObjectBase {
}
}
/**
/**
* Validates the specified prospective start value, min value, max value and
increment relative
* Validates the specified prospective start value, min value, max value and
*
to each other, since each of their respective validities are contingent on the values of th
e
*
increment relative to each other, since each of their respectiv
e
* other parameters.
*
validities are contingent on the values of the
other parameters.
*
*
* @param value the prospective start value
* @param value the prospective start value
* @param minValue the prospective min value
* @param minValue the prospective min value
...
@@ -118,11 +136,11 @@ public class Sequence extends SchemaObjectBase {
...
@@ -118,11 +136,11 @@ public class Sequence extends SchemaObjectBase {
BigInteger
.
valueOf
(
maxValue
).
subtract
(
BigInteger
.
valueOf
(
minValue
)))
<
0
;
BigInteger
.
valueOf
(
maxValue
).
subtract
(
BigInteger
.
valueOf
(
minValue
)))
<
0
;
}
}
private
long
getDefaultMinValue
(
long
increment
)
{
private
static
long
getDefaultMinValue
(
long
increment
)
{
return
increment
>=
0
?
1
:
Long
.
MIN_VALUE
;
return
increment
>=
0
?
1
:
Long
.
MIN_VALUE
;
}
}
private
long
getDefaultMaxValue
(
long
increment
)
{
private
static
long
getDefaultMaxValue
(
long
increment
)
{
return
increment
>=
0
?
Long
.
MAX_VALUE
:
-
1
;
return
increment
>=
0
?
Long
.
MAX_VALUE
:
-
1
;
}
}
...
@@ -199,7 +217,7 @@ public class Sequence extends SchemaObjectBase {
...
@@ -199,7 +217,7 @@ public class Sequence extends SchemaObjectBase {
* @return the next value
* @return the next value
*/
*/
public
synchronized
long
getNext
(
Session
session
)
{
public
synchronized
long
getNext
(
Session
session
)
{
boolean
needsFlush
=
false
;
boolean
needsFlush
=
false
;
if
((
increment
>
0
&&
value
>=
valueWithMargin
)
||
(
increment
<
0
&&
value
<=
valueWithMargin
))
{
if
((
increment
>
0
&&
value
>=
valueWithMargin
)
||
(
increment
<
0
&&
value
<=
valueWithMargin
))
{
valueWithMargin
+=
increment
*
cacheSize
;
valueWithMargin
+=
increment
*
cacheSize
;
needsFlush
=
true
;
needsFlush
=
true
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/util/Task.java
浏览文件 @
6089c852
...
@@ -81,10 +81,10 @@ public abstract class Task implements Runnable {
...
@@ -81,10 +81,10 @@ public abstract class Task implements Runnable {
}
}
return
result
;
return
result
;
}
}
/**
/**
* Whether the call method has returned (with or without exception).
* Whether the call method has returned (with or without exception).
*
*
* @return true if yes
* @return true if yes
*/
*/
public
boolean
isFinished
()
{
public
boolean
isFinished
()
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/TestAll.java
浏览文件 @
6089c852
...
@@ -232,6 +232,7 @@ java org.h2.test.TestAll timer
...
@@ -232,6 +232,7 @@ java org.h2.test.TestAll timer
*/
*/
;
private
static
final
boolean
MV_STORE
=
true
;
private
static
final
boolean
MV_STORE
=
true
;
/**
/**
...
@@ -772,9 +773,7 @@ kill -9 `jps -l | grep "org.h2.test." | cut -d " " -f 1`
...
@@ -772,9 +773,7 @@ kill -9 `jps -l | grep "org.h2.test." | cut -d " " -f 1`
new
TestFile
().
runTest
(
this
);
new
TestFile
().
runTest
(
this
);
new
TestFileLock
().
runTest
(
this
);
new
TestFileLock
().
runTest
(
this
);
new
TestFileLockProcess
().
runTest
(
this
);
new
TestFileLockProcess
().
runTest
(
this
);
new
TestFileLockSerialized
().
runTest
(
this
);
new
TestFileLockSerialized
().
runTest
(
this
);
new
TestFtp
().
runTest
(
this
);
new
TestFtp
().
runTest
(
this
);
new
TestFileSystem
().
runTest
(
this
);
new
TestFileSystem
().
runTest
(
this
);
new
TestIntArray
().
runTest
(
this
);
new
TestIntArray
().
runTest
(
this
);
...
@@ -804,7 +803,10 @@ kill -9 `jps -l | grep "org.h2.test." | cut -d " " -f 1`
...
@@ -804,7 +803,10 @@ kill -9 `jps -l | grep "org.h2.test." | cut -d " " -f 1`
new
TestStringUtils
().
runTest
(
this
);
new
TestStringUtils
().
runTest
(
this
);
new
TestTools
().
runTest
(
this
);
new
TestTools
().
runTest
(
this
);
new
TestTraceSystem
().
runTest
(
this
);
new
TestTraceSystem
().
runTest
(
this
);
;
// TODO
new
TestUpgrade
().
runTest
(
this
);
new
TestUpgrade
().
runTest
(
this
);
new
TestUtils
().
runTest
(
this
);
new
TestUtils
().
runTest
(
this
);
new
TestValue
().
runTest
(
this
);
new
TestValue
().
runTest
(
this
);
new
TestValueHashMap
().
runTest
(
this
);
new
TestValueHashMap
().
runTest
(
this
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestLob.java
浏览文件 @
6089c852
...
@@ -46,6 +46,11 @@ import org.h2.value.ValueLob;
...
@@ -46,6 +46,11 @@ import org.h2.value.ValueLob;
*/
*/
public
class
TestLob
extends
TestBase
{
public
class
TestLob
extends
TestBase
{
private
static
final
String
MORE_THAN_128_CHARS
=
"12345678901234567890123456789012345678901234567890"
+
"12345678901234567890123456789012345678901234567890"
+
"12345678901234567890123456789"
;
/**
/**
* Run just this test.
* Run just this test.
*
*
...
@@ -1487,8 +1492,6 @@ public class TestLob extends TestBase {
...
@@ -1487,8 +1492,6 @@ public class TestLob extends TestBase {
conn
.
close
();
conn
.
close
();
}
}
private
static
final
String
MORE_THAN_128_CHARS
=
"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
;
private
void
testCommitOnExclusiveConnection
()
throws
Exception
{
private
void
testCommitOnExclusiveConnection
()
throws
Exception
{
deleteDb
(
"lob"
);
deleteDb
(
"lob"
);
Connection
conn
=
getConnection
(
"lob;EXCLUSIVE=1"
);
Connection
conn
=
getConnection
(
"lob;EXCLUSIVE=1"
);
...
@@ -1498,8 +1501,11 @@ public class TestLob extends TestBase {
...
@@ -1498,8 +1501,11 @@ public class TestLob extends TestBase {
conn
.
setAutoCommit
(
false
);
conn
.
setAutoCommit
(
false
);
statement
.
execute
(
"insert into TEST (COL, LOB) values (1, '"
+
MORE_THAN_128_CHARS
+
"')"
);
statement
.
execute
(
"insert into TEST (COL, LOB) values (1, '"
+
MORE_THAN_128_CHARS
+
"')"
);
statement
.
execute
(
"update TEST set COL=2"
);
statement
.
execute
(
"update TEST set COL=2"
);
// statement.execute("commit"); // OK
// OK
conn
.
commit
();
// KO : should not hang
// statement.execute("commit");
// KO : should not hang
conn
.
commit
();
conn
.
close
();
conn
.
close
();
}
}
}
}
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestReplace.java
浏览文件 @
6089c852
/*
* Copyright 2004-2013 H2 Group. Multiple-Licensed under the H2 License,
* Version 1.0, and under the Eclipse Public License, Version 1.0
* (http://h2database.com/html/license.html).
* Initial Developer: Cemo
*/
package
org
.
h2
.
test
.
db
;
package
org
.
h2
.
test
.
db
;
import
org.h2.test.TestBase
;
import
org.h2.test.TestBase
;
...
@@ -9,11 +15,11 @@ import java.sql.Statement;
...
@@ -9,11 +15,11 @@ import java.sql.Statement;
/**
/**
* Test the MySQL-compatibility REPLACE command.
* Test the MySQL-compatibility REPLACE command.
*
*
* @author Cemo
* @author Cemo
*/
*/
public
class
TestReplace
extends
TestBase
{
public
class
TestReplace
extends
TestBase
{
/**
/**
* Run just this test.
* Run just this test.
*
*
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestSequence.java
浏览文件 @
6089c852
...
@@ -156,26 +156,37 @@ public class TestSequence extends TestBase {
...
@@ -156,26 +156,37 @@ public class TestSequence extends TestBase {
private
void
testCreateWithMinValue
()
throws
SQLException
{
private
void
testCreateWithMinValue
()
throws
SQLException
{
test
(
"create sequence s minvalue 3"
,
null
,
3
,
4
,
5
,
6
);
test
(
"create sequence s minvalue 3"
,
null
,
3
,
4
,
5
,
6
);
test
(
"create sequence s minvalue -3 increment by -1 cycle"
,
null
,
-
1
,
-
2
,
-
3
,
-
1
);
test
(
"create sequence s minvalue -3 increment by -1 cycle"
,
null
,
-
1
,
-
2
,
-
3
,
-
1
);
test
(
"create sequence s minvalue -3 increment by -1"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1"
,
test
(
"create sequence s minvalue -3 increment by -1 nocycle"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1 no cycle"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1 nocycle"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1 no cycle"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1 nocache cycle"
,
null
,
-
1
,
-
2
,
-
3
,
-
1
);
test
(
"create sequence s minvalue -3 increment by -1 nocache cycle"
,
null
,
-
1
,
-
2
,
-
3
,
-
1
);
test
(
"create sequence s minvalue -3 increment by -1 nocache"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1 nocache"
,
test
(
"create sequence s minvalue -3 increment by -1 nocache nocycle"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1 nocache nocycle"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
test
(
"create sequence s minvalue -3 increment by -1 no cache no cycle"
,
test
(
"create sequence s minvalue -3 increment by -1 no cache no cycle"
,
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
"Sequence \"S\" has run out of numbers"
,
-
1
,
-
2
,
-
3
);
}
}
private
void
testCreateWithMaxValue
()
throws
SQLException
{
private
void
testCreateWithMaxValue
()
throws
SQLException
{
test
(
"create sequence s maxvalue -3 increment by -1"
,
null
,
-
3
,
-
4
,
-
5
,
-
6
);
test
(
"create sequence s maxvalue -3 increment by -1"
,
null
,
-
3
,
-
4
,
-
5
,
-
6
);
test
(
"create sequence s maxvalue 3 cycle"
,
null
,
1
,
2
,
3
,
1
);
test
(
"create sequence s maxvalue 3 cycle"
,
null
,
1
,
2
,
3
,
1
);
test
(
"create sequence s maxvalue 3"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3"
,
test
(
"create sequence s maxvalue 3 nocycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 no cycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 nocycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 no cycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 nocache cycle"
,
null
,
1
,
2
,
3
,
1
);
test
(
"create sequence s maxvalue 3 nocache cycle"
,
null
,
1
,
2
,
3
,
1
);
test
(
"create sequence s maxvalue 3 nocache"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 nocache"
,
test
(
"create sequence s maxvalue 3 nocache nocycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 no cache no cycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 nocache nocycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
test
(
"create sequence s maxvalue 3 no cache no cycle"
,
"Sequence \"S\" has run out of numbers"
,
1
,
2
,
3
);
}
}
private
void
testCreationErrors
()
throws
SQLException
{
private
void
testCreationErrors
()
throws
SQLException
{
...
@@ -215,8 +226,10 @@ public class TestSequence extends TestBase {
...
@@ -215,8 +226,10 @@ public class TestSequence extends TestBase {
Connection
conn
=
getConnection
(
"sequence"
);
Connection
conn
=
getConnection
(
"sequence"
);
Statement
stat
=
conn
.
createStatement
();
Statement
stat
=
conn
.
createStatement
();
stat
.
execute
(
"create sequence a"
);
stat
.
execute
(
"create sequence a"
);
stat
.
execute
(
"create sequence b start with 5 increment by 2 minvalue 3 maxvalue 7 cycle nocache"
);
stat
.
execute
(
"create sequence b start with 5 increment by 2 "
+
stat
.
execute
(
"create sequence c start with 3 increment by 1 minvalue 2 maxvalue 9 nocycle cache 2"
);
"minvalue 3 maxvalue 7 cycle nocache"
);
stat
.
execute
(
"create sequence c start with 3 increment by 1 "
+
"minvalue 2 maxvalue 9 nocycle cache 2"
);
stat
.
execute
(
"create sequence d nomaxvalue no minvalue no cache nocycle"
);
stat
.
execute
(
"create sequence d nomaxvalue no minvalue no cache nocycle"
);
stat
.
execute
(
"create sequence e cache 1"
);
stat
.
execute
(
"create sequence e cache 1"
);
List
<
String
>
script
=
new
ArrayList
<
String
>();
List
<
String
>
script
=
new
ArrayList
<
String
>();
...
@@ -226,8 +239,10 @@ public class TestSequence extends TestBase {
...
@@ -226,8 +239,10 @@ public class TestSequence extends TestBase {
}
}
Collections
.
sort
(
script
);
Collections
.
sort
(
script
);
assertEquals
(
"CREATE SEQUENCE PUBLIC.A START WITH 1;"
,
script
.
get
(
0
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.A START WITH 1;"
,
script
.
get
(
0
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.B START WITH 5 INCREMENT BY 2 MINVALUE 3 MAXVALUE 7 CYCLE CACHE 1;"
,
script
.
get
(
1
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.B START WITH 5 INCREMENT BY 2 "
+
assertEquals
(
"CREATE SEQUENCE PUBLIC.C START WITH 3 MINVALUE 2 MAXVALUE 9 CACHE 2;"
,
script
.
get
(
2
));
"MINVALUE 3 MAXVALUE 7 CYCLE CACHE 1;"
,
script
.
get
(
1
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.C START WITH 3 MINVALUE 2 MAXVALUE 9 CACHE 2;"
,
script
.
get
(
2
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.D START WITH 1 CACHE 1;"
,
script
.
get
(
3
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.D START WITH 1 CACHE 1;"
,
script
.
get
(
3
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.E START WITH 1 CACHE 1;"
,
script
.
get
(
4
));
assertEquals
(
"CREATE SEQUENCE PUBLIC.E START WITH 1 CACHE 1;"
,
script
.
get
(
4
));
conn
.
close
();
conn
.
close
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestView.java
浏览文件 @
6089c852
...
@@ -206,8 +206,11 @@ public class TestView extends TestBase {
...
@@ -206,8 +206,11 @@ public class TestView extends TestBase {
conn
.
close
();
conn
.
close
();
deleteDb
(
"view"
);
deleteDb
(
"view"
);
}
}
/** make sure that when we change a view, that change in reflected in other sessions command cache */
/**
* Make sure that when we change a view, that change in reflected in other
* sessions command cache.
*/
private
void
testViewAlterAndCommandCache
()
throws
SQLException
{
private
void
testViewAlterAndCommandCache
()
throws
SQLException
{
deleteDb
(
"view"
);
deleteDb
(
"view"
);
Connection
conn
=
getConnection
(
"view"
);
Connection
conn
=
getConnection
(
"view"
);
...
@@ -227,4 +230,5 @@ public class TestView extends TestBase {
...
@@ -227,4 +230,5 @@ public class TestView extends TestBase {
conn
.
close
();
conn
.
close
();
deleteDb
(
"view"
);
deleteDb
(
"view"
);
}
}
}
}
This diff is collapsed.
Click to expand it.
h2/src/tools/org/h2/dev/cache/CacheLIRS.java
浏览文件 @
6089c852
...
@@ -178,11 +178,11 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
...
@@ -178,11 +178,11 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
protected
int
sizeOf
(
K
key
,
V
value
)
{
protected
int
sizeOf
(
K
key
,
V
value
)
{
return
averageMemory
;
return
averageMemory
;
}
}
/**
/**
* This method is called after the value for the given key was removed.
* This method is called after the value for the given key was removed.
* It is not called on clear or put when replacing a value.
* It is not called on clear or put when replacing a value.
*
*
* @param key the key
* @param key the key
*/
*/
protected
void
onRemove
(
K
key
)
{
protected
void
onRemove
(
K
key
)
{
...
@@ -422,8 +422,6 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
...
@@ -422,8 +422,6 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
* @param <V> the value type
* @param <V> the value type
*/
*/
static
class
Segment
<
K
,
V
>
{
static
class
Segment
<
K
,
V
>
{
final
CacheLIRS
<
K
,
V
>
cache
;
/**
/**
* The number of (hot, cold, and non-resident) entries in the map.
* The number of (hot, cold, and non-resident) entries in the map.
...
@@ -450,6 +448,8 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
...
@@ -450,6 +448,8 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
*/
*/
long
usedMemory
;
long
usedMemory
;
private
final
CacheLIRS
<
K
,
V
>
cache
;
/**
/**
* How many other item are to be moved to the top of the stack before
* How many other item are to be moved to the top of the stack before
* the current item is moved.
* the current item is moved.
...
@@ -507,6 +507,7 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
...
@@ -507,6 +507,7 @@ public class CacheLIRS<K, V> extends AbstractMap<K, V> {
/**
/**
* Create a new cache.
* Create a new cache.
*
*
* @param cache the cache
* @param maxMemory the maximum memory to use
* @param maxMemory the maximum memory to use
* @param averageMemory the average memory usage of an object
* @param averageMemory the average memory usage of an object
* @param stackMoveDistance the number of other entries to be moved to
* @param stackMoveDistance the number of other entries to be moved to
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论