Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
1e9b6d64
提交
1e9b6d64
authored
9 年前
作者:
S.Vladykin
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'viewindex' into batchview2
上级
0093d51d
ba7ba113
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
99 行增加
和
69 行删除
+99
-69
AlterView.java
h2/src/main/org/h2/command/ddl/AlterView.java
+1
-1
Database.java
h2/src/main/org/h2/engine/Database.java
+2
-12
Session.java
h2/src/main/org/h2/engine/Session.java
+8
-4
TableView.java
h2/src/main/org/h2/table/TableView.java
+14
-5
TestAnnotationProcessor.java
h2/src/test/org/h2/test/ap/TestAnnotationProcessor.java
+1
-1
TestFunctions.java
h2/src/test/org/h2/test/db/TestFunctions.java
+0
-43
TestView.java
h2/src/test/org/h2/test/db/TestView.java
+50
-2
Build.java
h2/src/tools/org/h2/build/Build.java
+23
-1
没有找到文件。
h2/src/main/org/h2/command/ddl/AlterView.java
浏览文件 @
1e9b6d64
...
@@ -31,7 +31,7 @@ public class AlterView extends DefineCommand {
...
@@ -31,7 +31,7 @@ public class AlterView extends DefineCommand {
public
int
update
()
{
public
int
update
()
{
session
.
commit
(
true
);
session
.
commit
(
true
);
session
.
getUser
().
checkRight
(
view
,
Right
.
ALL
);
session
.
getUser
().
checkRight
(
view
,
Right
.
ALL
);
DbException
e
=
view
.
recompile
(
session
,
false
);
DbException
e
=
view
.
recompile
(
session
,
false
,
true
);
if
(
e
!=
null
)
{
if
(
e
!=
null
)
{
throw
e
;
throw
e
;
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/engine/Database.java
浏览文件 @
1e9b6d64
...
@@ -811,7 +811,7 @@ public class Database implements DataHandler {
...
@@ -811,7 +811,7 @@ public class Database implements DataHandler {
if
(
obj
instanceof
TableView
)
{
if
(
obj
instanceof
TableView
)
{
TableView
view
=
(
TableView
)
obj
;
TableView
view
=
(
TableView
)
obj
;
if
(
view
.
isInvalid
())
{
if
(
view
.
isInvalid
())
{
view
.
recompile
(
session
,
true
);
view
.
recompile
(
session
,
true
,
false
);
if
(!
view
.
isInvalid
())
{
if
(!
view
.
isInvalid
())
{
recompileSuccessful
=
true
;
recompileSuccessful
=
true
;
}
}
...
@@ -819,17 +819,7 @@ public class Database implements DataHandler {
...
@@ -819,17 +819,7 @@ public class Database implements DataHandler {
}
}
}
}
}
while
(
recompileSuccessful
);
}
while
(
recompileSuccessful
);
// when opening a database, views are initialized before indexes,
TableView
.
clearIndexCaches
(
session
.
getDatabase
());
// so they may not have the optimal plan yet
// this is not a problem, it is just nice to see the newest plan
for
(
Table
obj
:
getAllTablesAndViews
(
false
))
{
if
(
obj
instanceof
TableView
)
{
TableView
view
=
(
TableView
)
obj
;
if
(!
view
.
isInvalid
())
{
view
.
recompile
(
systemSession
,
true
);
}
}
}
}
}
private
void
initMetaTables
()
{
private
void
initMetaTables
()
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/engine/Session.java
浏览文件 @
1e9b6d64
...
@@ -482,7 +482,12 @@ public class Session extends SessionWithState {
...
@@ -482,7 +482,12 @@ public class Session extends SessionWithState {
}
}
}
}
Parser
parser
=
new
Parser
(
this
);
Parser
parser
=
new
Parser
(
this
);
command
=
parser
.
prepareCommand
(
sql
);
try
{
command
=
parser
.
prepareCommand
(
sql
);
}
finally
{
// we can't reuse sub-query indexes, so just drop the whole cache
subQueryIndexCache
=
null
;
}
if
(
queryCache
!=
null
)
{
if
(
queryCache
!=
null
)
{
if
(
command
.
isCacheable
())
{
if
(
command
.
isCacheable
())
{
queryCache
.
put
(
sql
,
command
);
queryCache
.
put
(
sql
,
command
);
...
@@ -1319,8 +1324,8 @@ public class Session extends SessionWithState {
...
@@ -1319,8 +1324,8 @@ public class Session extends SessionWithState {
public
Map
<
Object
,
ViewIndex
>
getViewIndexCache
(
boolean
subQuery
)
{
public
Map
<
Object
,
ViewIndex
>
getViewIndexCache
(
boolean
subQuery
)
{
if
(
subQuery
)
{
if
(
subQuery
)
{
// for sub-queries we don't need to use LRU because
it should not grow too large
// for sub-queries we don't need to use LRU because
the cache should not
//
for a single query and by the end of the statement we will drop the whole cache
//
grow too large for a single query (we drop the whole cache in the end of prepareLocal)
if
(
subQueryIndexCache
==
null
)
{
if
(
subQueryIndexCache
==
null
)
{
subQueryIndexCache
=
New
.
hashMap
();
subQueryIndexCache
=
New
.
hashMap
();
}
}
...
@@ -1510,7 +1515,6 @@ public class Session extends SessionWithState {
...
@@ -1510,7 +1515,6 @@ public class Session extends SessionWithState {
*/
*/
public
void
endStatement
()
{
public
void
endStatement
()
{
startStatement
=
-
1
;
startStatement
=
-
1
;
subQueryIndexCache
=
null
;
closeTemporaryResults
();
closeTemporaryResults
();
}
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/table/TableView.java
浏览文件 @
1e9b6d64
...
@@ -13,6 +13,7 @@ import org.h2.api.ErrorCode;
...
@@ -13,6 +13,7 @@ import org.h2.api.ErrorCode;
import
org.h2.command.Prepared
;
import
org.h2.command.Prepared
;
import
org.h2.command.dml.Query
;
import
org.h2.command.dml.Query
;
import
org.h2.engine.Constants
;
import
org.h2.engine.Constants
;
import
org.h2.engine.Database
;
import
org.h2.engine.DbObject
;
import
org.h2.engine.DbObject
;
import
org.h2.engine.Session
;
import
org.h2.engine.Session
;
import
org.h2.engine.User
;
import
org.h2.engine.User
;
...
@@ -80,10 +81,10 @@ public class TableView extends Table {
...
@@ -80,10 +81,10 @@ public class TableView extends Table {
String
[]
oldColumnNames
=
this
.
columnNames
;
String
[]
oldColumnNames
=
this
.
columnNames
;
boolean
oldRecursive
=
this
.
recursive
;
boolean
oldRecursive
=
this
.
recursive
;
init
(
querySQL
,
null
,
columnNames
,
session
,
recursive
);
init
(
querySQL
,
null
,
columnNames
,
session
,
recursive
);
DbException
e
=
recompile
(
session
,
force
);
DbException
e
=
recompile
(
session
,
force
,
true
);
if
(
e
!=
null
)
{
if
(
e
!=
null
)
{
init
(
oldQuerySQL
,
null
,
oldColumnNames
,
session
,
oldRecursive
);
init
(
oldQuerySQL
,
null
,
oldColumnNames
,
session
,
oldRecursive
);
recompile
(
session
,
true
);
recompile
(
session
,
true
,
false
);
throw
e
;
throw
e
;
}
}
}
}
...
@@ -116,10 +117,11 @@ public class TableView extends Table {
...
@@ -116,10 +117,11 @@ public class TableView extends Table {
*
*
* @param session the session
* @param session the session
* @param force if exceptions should be ignored
* @param force if exceptions should be ignored
* @param clearIndexCache if we need to clear view index cache
* @return the exception if re-compiling this or any dependent view failed
* @return the exception if re-compiling this or any dependent view failed
* (only when force is disabled)
* (only when force is disabled)
*/
*/
public
synchronized
DbException
recompile
(
Session
session
,
boolean
force
)
{
public
synchronized
DbException
recompile
(
Session
session
,
boolean
force
,
boolean
clearIndexCache
)
{
try
{
try
{
compileViewQuery
(
session
,
querySQL
);
compileViewQuery
(
session
,
querySQL
);
}
catch
(
DbException
e
)
{
}
catch
(
DbException
e
)
{
...
@@ -134,12 +136,15 @@ public class TableView extends Table {
...
@@ -134,12 +136,15 @@ public class TableView extends Table {
initColumnsAndTables
(
session
);
initColumnsAndTables
(
session
);
if
(
views
!=
null
)
{
if
(
views
!=
null
)
{
for
(
TableView
v
:
views
)
{
for
(
TableView
v
:
views
)
{
DbException
e
=
v
.
recompile
(
session
,
force
);
DbException
e
=
v
.
recompile
(
session
,
force
,
false
);
if
(
e
!=
null
&&
!
force
)
{
if
(
e
!=
null
&&
!
force
)
{
return
e
;
return
e
;
}
}
}
}
}
}
if
(
clearIndexCache
)
{
clearIndexCaches
(
database
);
}
return
force
?
null
:
createException
;
return
force
?
null
:
createException
;
}
}
...
@@ -399,10 +404,14 @@ public class TableView extends Table {
...
@@ -399,10 +404,14 @@ public class TableView extends Table {
database
.
removeMeta
(
session
,
getId
());
database
.
removeMeta
(
session
,
getId
());
querySQL
=
null
;
querySQL
=
null
;
index
=
null
;
index
=
null
;
clearIndexCaches
(
database
);
invalidate
();
}
public
static
void
clearIndexCaches
(
Database
database
)
{
for
(
Session
s
:
database
.
getSessions
(
true
))
{
for
(
Session
s
:
database
.
getSessions
(
true
))
{
s
.
clearViewIndexCache
();
s
.
clearViewIndexCache
();
}
}
invalidate
();
}
}
@Override
@Override
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/ap/TestAnnotationProcessor.java
浏览文件 @
1e9b6d64
...
@@ -45,7 +45,7 @@ public class TestAnnotationProcessor extends AbstractProcessor {
...
@@ -45,7 +45,7 @@ public class TestAnnotationProcessor extends AbstractProcessor {
}
}
public
SourceVersion
getSupportedSourceVersion
()
{
public
SourceVersion
getSupportedSourceVersion
()
{
return
SourceVersion
.
RELEASE_6
;
return
SourceVersion
.
latest
()
;
}
}
@Override
@Override
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestFunctions.java
浏览文件 @
1e9b6d64
...
@@ -1782,49 +1782,6 @@ public class TestFunctions extends TestBase implements AggregateFunction {
...
@@ -1782,49 +1782,6 @@ public class TestFunctions extends TestBase implements AggregateFunction {
}
}
private
void
testAnnotationProcessorsOutput
()
throws
SQLException
{
private
void
testAnnotationProcessorsOutput
()
throws
SQLException
{
testAnnotationProcessorsOutput_emptyKey
();
testAnnotationProcessorsOutput_invalidKey
();
testAnnotationProcessorsOutput_oneInvalidKey
();
testAnnotationProcessorsOutput_warnAndError
();
}
private
void
testAnnotationProcessorsOutput_emptyKey
()
throws
SQLException
{
try
{
System
.
setProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
,
""
);
callCompiledFunction
(
"test_atp_empty_key"
);
}
finally
{
System
.
clearProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
);
}
}
private
void
testAnnotationProcessorsOutput_invalidKey
()
throws
SQLException
{
try
{
System
.
setProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
,
"invalid"
);
callCompiledFunction
(
"test_atp_invalid_key"
);
fail
();
}
catch
(
JdbcSQLException
e
)
{
assertEquals
(
ErrorCode
.
SYNTAX_ERROR_1
,
e
.
getErrorCode
());
assertContains
(
e
.
getMessage
(),
"'invalid'"
);
}
finally
{
System
.
clearProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
);
}
}
private
void
testAnnotationProcessorsOutput_oneInvalidKey
()
throws
SQLException
{
try
{
System
.
setProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
,
"invalid,foo"
);
callCompiledFunction
(
"test_atp_one_invalid_key"
);
fail
();
}
catch
(
JdbcSQLException
e
)
{
assertEquals
(
ErrorCode
.
SYNTAX_ERROR_1
,
e
.
getErrorCode
());
assertContains
(
e
.
getMessage
(),
"enum"
);
assertContains
(
e
.
getMessage
(),
"Kind.invalid"
);
}
finally
{
System
.
clearProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
);
}
}
private
void
testAnnotationProcessorsOutput_warnAndError
()
throws
SQLException
{
try
{
try
{
System
.
setProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
,
"WARNING,foo1|ERROR,foo2"
);
System
.
setProperty
(
TestAnnotationProcessor
.
MESSAGES_KEY
,
"WARNING,foo1|ERROR,foo2"
);
callCompiledFunction
(
"test_atp_warn_and_error"
);
callCompiledFunction
(
"test_atp_warn_and_error"
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/db/TestView.java
浏览文件 @
1e9b6d64
...
@@ -10,8 +10,9 @@ import java.sql.PreparedStatement;
...
@@ -10,8 +10,9 @@ import java.sql.PreparedStatement;
import
java.sql.ResultSet
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
import
java.sql.Statement
;
import
java.sql.Statement
;
import
org.h2.api.ErrorCode
;
import
org.h2.api.ErrorCode
;
import
org.h2.engine.Session
;
import
org.h2.jdbc.JdbcConnection
;
import
org.h2.test.TestBase
;
import
org.h2.test.TestBase
;
/**
/**
...
@@ -33,7 +34,7 @@ public class TestView extends TestBase {
...
@@ -33,7 +34,7 @@ public class TestView extends TestBase {
@Override
@Override
public
void
test
()
throws
SQLException
{
public
void
test
()
throws
SQLException
{
deleteDb
(
"view"
);
deleteDb
(
"view"
);
testSubQueryViewIndexCache
();
testInnerSelectWithRownum
();
testInnerSelectWithRownum
();
testInnerSelectWithRange
();
testInnerSelectWithRange
();
testEmptyColumn
();
testEmptyColumn
();
...
@@ -51,6 +52,53 @@ public class TestView extends TestBase {
...
@@ -51,6 +52,53 @@ public class TestView extends TestBase {
deleteDb
(
"view"
);
deleteDb
(
"view"
);
}
}
public
void
testSubQueryViewIndexCache
()
throws
SQLException
{
if
(
config
.
networked
)
{
return
;
}
Connection
conn
=
getConnection
(
"view"
);
Statement
stat
=
conn
.
createStatement
();
stat
.
execute
(
"drop table test if exists"
);
stat
.
execute
(
"create table test(id int primary key, name varchar(25) unique, age int unique)"
);
// check that initial cache size is empty
Session
s
=
(
Session
)
((
JdbcConnection
)
conn
).
getSession
();
s
.
clearViewIndexCache
();
assertTrue
(
s
.
getViewIndexCache
(
true
).
isEmpty
());
assertTrue
(
s
.
getViewIndexCache
(
false
).
isEmpty
());
// create view command should not affect caches
stat
.
execute
(
"create view v as select * from test"
);
assertTrue
(
s
.
getViewIndexCache
(
true
).
isEmpty
());
assertTrue
(
s
.
getViewIndexCache
(
false
).
isEmpty
());
// check view index cache
stat
.
executeQuery
(
"select * from v where id > 0"
).
next
();
int
size1
=
s
.
getViewIndexCache
(
false
).
size
();
assertTrue
(
size1
>
0
);
assertTrue
(
s
.
getViewIndexCache
(
true
).
isEmpty
());
stat
.
executeQuery
(
"select * from v where name = 'xyz'"
).
next
();
int
size2
=
s
.
getViewIndexCache
(
false
).
size
();
assertTrue
(
size2
>
size1
);
assertTrue
(
s
.
getViewIndexCache
(
true
).
isEmpty
());
// check we did not add anything to view cache if we run a sub-query
stat
.
executeQuery
(
"select * from (select * from test) where age = 17"
).
next
();
int
size3
=
s
.
getViewIndexCache
(
false
).
size
();
assertEquals
(
size2
,
size3
);
assertTrue
(
s
.
getViewIndexCache
(
true
).
isEmpty
());
// check clear works
s
.
clearViewIndexCache
();
assertTrue
(
s
.
getViewIndexCache
(
false
).
isEmpty
());
assertTrue
(
s
.
getViewIndexCache
(
true
).
isEmpty
());
// drop everything
stat
.
execute
(
"drop view v"
);
stat
.
execute
(
"drop table test"
);
conn
.
close
();
}
private
void
testInnerSelectWithRownum
()
throws
SQLException
{
private
void
testInnerSelectWithRownum
()
throws
SQLException
{
Connection
conn
=
getConnection
(
"view"
);
Connection
conn
=
getConnection
(
"view"
);
Statement
stat
=
conn
.
createStatement
();
Statement
stat
=
conn
.
createStatement
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/tools/org/h2/build/Build.java
浏览文件 @
1e9b6d64
...
@@ -14,7 +14,6 @@ import java.net.Socket;
...
@@ -14,7 +14,6 @@ import java.net.Socket;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.TreeMap
;
import
java.util.TreeMap
;
import
java.util.Map.Entry
;
import
java.util.Map.Entry
;
import
org.h2.build.code.SwitchSource
;
import
org.h2.build.code.SwitchSource
;
import
org.h2.build.doc.XMLParser
;
import
org.h2.build.doc.XMLParser
;
...
@@ -401,6 +400,23 @@ public class Build extends BuildBase {
...
@@ -401,6 +400,23 @@ public class Build extends BuildBase {
writeFile
(
new
File
(
fileName
),
checksums
.
getBytes
());
writeFile
(
new
File
(
fileName
),
checksums
.
getBytes
());
}
}
private
static
String
canonicalPath
(
File
file
)
{
try
{
return
file
.
getCanonicalPath
();
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
private
FileList
excludeTestMetaInfFiles
(
FileList
files
)
{
FileList
testMetaInfFiles
=
files
(
"src/test/META-INF"
);
int
basePathLength
=
canonicalPath
(
new
File
(
"src/test"
)).
length
();
for
(
File
file
:
testMetaInfFiles
)
{
files
=
files
.
exclude
(
canonicalPath
(
file
).
substring
(
basePathLength
+
1
));
}
return
files
;
}
/**
/**
* Create the regular h2.jar file.
* Create the regular h2.jar file.
*/
*/
...
@@ -424,6 +440,7 @@ public class Build extends BuildBase {
...
@@ -424,6 +440,7 @@ public class Build extends BuildBase {
exclude
(
"*.sh"
).
exclude
(
"*.sh"
).
exclude
(
"*.txt"
).
exclude
(
"*.txt"
).
exclude
(
"*.DS_Store"
);
exclude
(
"*.DS_Store"
);
files
=
excludeTestMetaInfFiles
(
files
);
jar
(
"bin/h2"
+
getJarSuffix
(),
files
,
"temp"
);
jar
(
"bin/h2"
+
getJarSuffix
(),
files
,
"temp"
);
filter
(
"src/installer/h2.sh"
,
"bin/h2.sh"
,
"h2.jar"
,
"h2"
+
getJarSuffix
());
filter
(
"src/installer/h2.sh"
,
"bin/h2.sh"
,
"h2.jar"
,
"h2"
+
getJarSuffix
());
filter
(
"src/installer/h2.bat"
,
"bin/h2.bat"
,
"h2.jar"
,
"h2"
+
getJarSuffix
());
filter
(
"src/installer/h2.bat"
,
"bin/h2.bat"
,
"h2.jar"
,
"h2"
+
getJarSuffix
());
...
@@ -455,6 +472,7 @@ public class Build extends BuildBase {
...
@@ -455,6 +472,7 @@ public class Build extends BuildBase {
exclude
(
"*.sh"
).
exclude
(
"*.sh"
).
exclude
(
"*.txt"
).
exclude
(
"*.txt"
).
exclude
(
"*.DS_Store"
);
exclude
(
"*.DS_Store"
);
files
=
excludeTestMetaInfFiles
(
files
);
files
.
add
(
new
File
(
"temp/org/h2/tools/DeleteDbFiles.class"
));
files
.
add
(
new
File
(
"temp/org/h2/tools/DeleteDbFiles.class"
));
files
.
add
(
new
File
(
"temp/org/h2/tools/CompressTool.class"
));
files
.
add
(
new
File
(
"temp/org/h2/tools/CompressTool.class"
));
jar
(
"bin/h2android"
+
getJarSuffix
(),
files
,
"temp"
);
jar
(
"bin/h2android"
+
getJarSuffix
(),
files
,
"temp"
);
...
@@ -479,6 +497,7 @@ public class Build extends BuildBase {
...
@@ -479,6 +497,7 @@ public class Build extends BuildBase {
exclude
(
"*.sh"
).
exclude
(
"*.sh"
).
exclude
(
"*.txt"
).
exclude
(
"*.txt"
).
exclude
(
"*.DS_Store"
);
exclude
(
"*.DS_Store"
);
files
=
excludeTestMetaInfFiles
(
files
);
long
kb
=
jar
(
"bin/h2-client"
+
getJarSuffix
(),
files
,
"temp"
);
long
kb
=
jar
(
"bin/h2-client"
+
getJarSuffix
(),
files
,
"temp"
);
if
(
kb
<
350
||
kb
>
450
)
{
if
(
kb
<
350
||
kb
>
450
)
{
throw
new
RuntimeException
(
"Expected file size 350 - 450 KB, got: "
+
kb
);
throw
new
RuntimeException
(
"Expected file size 350 - 450 KB, got: "
+
kb
);
...
@@ -493,6 +512,7 @@ public class Build extends BuildBase {
...
@@ -493,6 +512,7 @@ public class Build extends BuildBase {
manifestMVStore
();
manifestMVStore
();
FileList
files
=
files
(
"temp"
);
FileList
files
=
files
(
"temp"
);
files
.
exclude
(
"*.DS_Store"
);
files
.
exclude
(
"*.DS_Store"
);
files
=
excludeTestMetaInfFiles
(
files
);
jar
(
"bin/h2-mvstore"
+
getJarSuffix
(),
files
,
"temp"
);
jar
(
"bin/h2-mvstore"
+
getJarSuffix
(),
files
,
"temp"
);
}
}
...
@@ -525,6 +545,7 @@ public class Build extends BuildBase {
...
@@ -525,6 +545,7 @@ public class Build extends BuildBase {
exclude
(
"*.sh"
).
exclude
(
"*.sh"
).
exclude
(
"*.txt"
).
exclude
(
"*.txt"
).
exclude
(
"*.DS_Store"
);
exclude
(
"*.DS_Store"
);
files
=
excludeTestMetaInfFiles
(
files
);
files
.
add
(
new
File
(
"temp/org/h2/tools/DeleteDbFiles.class"
));
files
.
add
(
new
File
(
"temp/org/h2/tools/DeleteDbFiles.class"
));
files
.
add
(
new
File
(
"temp/org/h2/tools/CompressTool.class"
));
files
.
add
(
new
File
(
"temp/org/h2/tools/CompressTool.class"
));
jar
(
"bin/h2small"
+
getJarSuffix
(),
files
,
"temp"
);
jar
(
"bin/h2small"
+
getJarSuffix
(),
files
,
"temp"
);
...
@@ -540,6 +561,7 @@ public class Build extends BuildBase {
...
@@ -540,6 +561,7 @@ public class Build extends BuildBase {
FileList
files
=
files
(
"temp/org/h2/jaqu"
);
FileList
files
=
files
(
"temp/org/h2/jaqu"
);
files
.
addAll
(
files
(
"temp/META-INF/MANIFEST.MF"
));
files
.
addAll
(
files
(
"temp/META-INF/MANIFEST.MF"
));
files
.
exclude
(
"*.DS_Store"
);
files
.
exclude
(
"*.DS_Store"
);
files
=
excludeTestMetaInfFiles
(
files
);
jar
(
"bin/h2jaqu"
+
getJarSuffix
(),
files
,
"temp"
);
jar
(
"bin/h2jaqu"
+
getJarSuffix
(),
files
,
"temp"
);
}
}
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论