Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
84472cbd
提交
84472cbd
authored
11 年前
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Close files after tryUnlockDatabase (and tests)
上级
6cebed58
全部展开
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
228 行增加
和
207 行删除
+228
-207
FileLister.java
h2/src/main/org/h2/store/FileLister.java
+1
-0
TestAll.java
h2/src/test/org/h2/test/TestAll.java
+183
-183
TestLob.java
h2/src/test/org/h2/test/db/TestLob.java
+20
-1
TestRunscript.java
h2/src/test/org/h2/test/db/TestRunscript.java
+2
-2
TestTools.java
h2/src/test/org/h2/test/unit/TestTools.java
+22
-21
没有找到文件。
h2/src/main/org/h2/store/FileLister.java
浏览文件 @
84472cbd
...
...
@@ -52,6 +52,7 @@ public class FileLister {
FileChannel
f
=
FilePath
.
get
(
fileName
).
open
(
"r"
);
java
.
nio
.
channels
.
FileLock
lock
=
f
.
tryLock
(
0
,
Long
.
MAX_VALUE
,
true
);
lock
.
release
();
f
.
close
();
}
catch
(
Exception
e
)
{
throw
DbException
.
get
(
ErrorCode
.
CANNOT_CHANGE_SETTING_WHEN_OPEN_1
,
e
,
message
).
getSQLException
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/TestAll.java
浏览文件 @
84472cbd
差异被折叠。
点击展开。
h2/src/test/org/h2/test/db/TestLob.java
浏览文件 @
84472cbd
...
...
@@ -61,6 +61,7 @@ public class TestLob extends TestBase {
@Override
public
void
test
()
throws
Exception
{
testCleaningUpLobsOnRollback
();
testClobWithRandomUnicodeChars
();
testCommitOnExclusiveConnection
();
testReadManyLobs
();
...
...
@@ -111,6 +112,24 @@ public class TestLob extends TestBase {
FileUtils
.
deleteRecursive
(
TEMP_DIR
,
true
);
}
private
void
testCleaningUpLobsOnRollback
()
throws
Exception
{
deleteDb
(
"lob"
);
Connection
conn
=
getConnection
(
"lob"
);
Statement
stat
=
conn
.
createStatement
();
stat
.
execute
(
"CREATE TABLE test(id int, data CLOB)"
);
conn
.
setAutoCommit
(
false
);
stat
.
executeUpdate
(
"insert into test values (1, '"
+
MORE_THAN_128_CHARS
+
"')"
);
conn
.
rollback
();
ResultSet
rs
=
stat
.
executeQuery
(
"select count(*) from test"
);
rs
.
next
();
assertEquals
(
0
,
rs
.
getInt
(
1
));
rs
=
stat
.
executeQuery
(
"select * from information_schema.lobs"
);
rs
=
stat
.
executeQuery
(
"select count(*) from information_schema.lob_data"
);
rs
.
next
();
assertEquals
(
0
,
rs
.
getInt
(
1
));
conn
.
close
();
}
private
void
testReadManyLobs
()
throws
Exception
{
//
deleteDb
(
"lob"
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestRunscript.java
浏览文件 @
84472cbd
...
...
@@ -36,6 +36,8 @@ public class TestRunscript extends TestBase implements Trigger {
@Override
public
void
test
()
throws
Exception
{
test
(
false
);
test
(
true
);
testDropReferencedUserDefinedFunction
();
testDropCascade
();
testScriptExcludeSchema
();
...
...
@@ -50,8 +52,6 @@ public class TestRunscript extends TestBase implements Trigger {
testCancelScript
();
testEncoding
();
testClobPrimaryKey
();
test
(
false
);
test
(
true
);
deleteDb
(
"runscript"
);
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/unit/TestTools.java
浏览文件 @
84472cbd
...
...
@@ -471,20 +471,21 @@ public class TestTools extends TestBase {
}
private
void
testDeleteFiles
()
throws
SQLException
{
deleteDb
(
"
utilsMore
"
);
Connection
conn
=
getConnection
(
"
utilsMore
"
);
deleteDb
(
"
testDeleteFiles
"
);
Connection
conn
=
getConnection
(
"
testDeleteFiles
"
);
Statement
stat
=
conn
.
createStatement
();
stat
.
execute
(
"create table test(c clob) as select space(10000) from dual"
);
conn
.
close
();
DeleteDbFiles
.
execute
(
getBaseDir
(),
"utils"
,
true
);
conn
=
getConnection
(
"utilsMore"
);
// the name starts with the same string, but does not match it
DeleteDbFiles
.
execute
(
getBaseDir
(),
"testDelete"
,
true
);
conn
=
getConnection
(
"testDeleteFiles"
);
stat
=
conn
.
createStatement
();
ResultSet
rs
;
rs
=
stat
.
executeQuery
(
"select * from test"
);
rs
.
next
();
rs
.
getString
(
1
);
conn
.
close
();
deleteDb
(
"
utilsMore
"
);
deleteDb
(
"
testDeleteFiles
"
);
}
private
void
testServerMain
()
throws
SQLException
{
...
...
@@ -733,7 +734,7 @@ public class TestTools extends TestBase {
private
void
testScriptRunscriptLob
()
throws
Exception
{
org
.
h2
.
Driver
.
load
();
String
url
=
getURL
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
utils
"
,
true
);
String
url
=
getURL
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
testScriptRunscriptLob
"
,
true
);
String
user
=
"sa"
,
password
=
"abc"
;
String
fileName
=
getBaseDir
()
+
"/b2.sql"
;
Connection
conn
=
getConnection
(
url
,
user
,
password
);
...
...
@@ -777,9 +778,9 @@ public class TestTools extends TestBase {
conn
.
close
();
Script
.
main
(
"-url"
,
url
,
"-user"
,
user
,
"-password"
,
password
,
"-script"
,
fileName
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
testScriptRunscriptLob
"
,
"-quiet"
);
RunScript
.
main
(
"-url"
,
url
,
"-user"
,
user
,
"-password"
,
password
,
"-script"
,
fileName
);
conn
=
getConnection
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
utils
"
,
"sa"
,
"abc"
);
conn
=
getConnection
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
testScriptRunscriptLob
"
,
"sa"
,
"abc"
);
}
conn
.
close
();
...
...
@@ -787,10 +788,10 @@ public class TestTools extends TestBase {
private
void
testScriptRunscript
()
throws
SQLException
{
org
.
h2
.
Driver
.
load
();
String
url
=
getURL
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
utils
"
,
true
);
String
url
=
getURL
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
testScriptRunscript
"
,
true
);
String
user
=
"sa"
,
password
=
"abc"
;
String
fileName
=
getBaseDir
()
+
"/b2.sql"
;
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
testScriptRunscript
"
,
"-quiet"
);
Connection
conn
=
getConnection
(
url
,
user
,
password
);
conn
.
createStatement
().
execute
(
"CREATE TABLE \u00f6()"
);
conn
.
createStatement
().
execute
(
"CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR)"
);
...
...
@@ -799,17 +800,17 @@ public class TestTools extends TestBase {
Script
.
main
(
"-url"
,
url
,
"-user"
,
user
,
"-password"
,
password
,
"-script"
,
fileName
,
"-options"
,
"nodata"
,
"compression"
,
"lzf"
,
"cipher"
,
"xtea"
,
"password"
,
"'123'"
,
"charset"
,
"'utf-8'"
);
Script
.
main
(
"-url"
,
url
,
"-user"
,
user
,
"-password"
,
password
,
"-script"
,
fileName
+
".txt"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
testScriptRunscript
"
,
"-quiet"
);
RunScript
.
main
(
"-url"
,
url
,
"-user"
,
user
,
"-password"
,
password
,
"-script"
,
fileName
,
"-options"
,
"compression"
,
"lzf"
,
"cipher"
,
"xtea"
,
"password"
,
"'123'"
,
"charset"
,
"'utf-8'"
);
conn
=
getConnection
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
utils
"
,
"sa"
,
"abc"
);
conn
=
getConnection
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
testScriptRunscript
"
,
"sa"
,
"abc"
);
ResultSet
rs
=
conn
.
createStatement
().
executeQuery
(
"SELECT * FROM TEST"
);
assertFalse
(
rs
.
next
());
rs
=
conn
.
createStatement
().
executeQuery
(
"SELECT * FROM \u00f6"
);
assertFalse
(
rs
.
next
());
conn
.
close
();
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
testScriptRunscript
"
,
"-quiet"
);
RunScript
tool
=
new
RunScript
();
ByteArrayOutputStream
buff
=
new
ByteArrayOutputStream
();
tool
.
setOut
(
new
PrintStream
(
buff
));
...
...
@@ -820,18 +821,18 @@ public class TestTools extends TestBase {
private
void
testBackupRestore
()
throws
SQLException
{
org
.
h2
.
Driver
.
load
();
String
url
=
"jdbc:h2:"
+
getBaseDir
()
+
"/
utils
"
;
String
url
=
"jdbc:h2:"
+
getBaseDir
()
+
"/
testBackupRestore
"
;
String
user
=
"sa"
,
password
=
"abc"
;
final
String
fileName
=
getBaseDir
()
+
"/b2.zip"
;
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
testBackupRestore
"
,
"-quiet"
);
Connection
conn
=
getConnection
(
url
,
user
,
password
);
conn
.
createStatement
().
execute
(
"CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR)"
);
conn
.
createStatement
().
execute
(
"INSERT INTO TEST VALUES(1, 'Hello')"
);
conn
.
close
();
Backup
.
main
(
"-file"
,
fileName
,
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
Restore
.
main
(
"-file"
,
fileName
,
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
conn
=
getConnection
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
utils
"
,
"sa"
,
"abc"
);
Backup
.
main
(
"-file"
,
fileName
,
"-dir"
,
getBaseDir
(),
"-db"
,
"
testBackupRestore
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
testBackupRestore
"
,
"-quiet"
);
Restore
.
main
(
"-file"
,
fileName
,
"-dir"
,
getBaseDir
(),
"-db"
,
"
testBackupRestore
"
,
"-quiet"
);
conn
=
getConnection
(
"jdbc:h2:"
+
getBaseDir
()
+
"/
testBackupRestore
"
,
"sa"
,
"abc"
);
ResultSet
rs
=
conn
.
createStatement
().
executeQuery
(
"SELECT * FROM TEST"
);
assertTrue
(
rs
.
next
());
assertFalse
(
rs
.
next
());
...
...
@@ -839,11 +840,11 @@ public class TestTools extends TestBase {
@Override
public
void
test
()
throws
SQLException
{
// must fail when the database is in use
Backup
.
main
(
"-file"
,
fileName
,
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
);
Backup
.
main
(
"-file"
,
fileName
,
"-dir"
,
getBaseDir
(),
"-db"
,
"
testBackupRestore
"
);
}
};
conn
.
close
();
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
utils
"
,
"-quiet"
);
DeleteDbFiles
.
main
(
"-dir"
,
getBaseDir
(),
"-db"
,
"
testBackupRestore
"
,
"-quiet"
);
}
private
void
testChangeFileEncryption
(
boolean
split
)
throws
SQLException
{
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论