Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
99fa5f60
提交
99fa5f60
authored
5月 08, 2010
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Prepare release.
上级
b26a371f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
3233 行增加
和
3163 行删除
+3233
-3163
help.csv
h2/src/docsrc/help/help.csv
+1
-0
changelog.html
h2/src/docsrc/html/changelog.html
+7
-3
history.html
h2/src/docsrc/html/history.html
+1
-0
roadmap.html
h2/src/docsrc/html/roadmap.html
+2
-1
_docs_en.utf8.txt
h2/src/docsrc/text/_docs_en.utf8.txt
+1365
-1365
_docs_ja.utf8.txt
h2/src/docsrc/text/_docs_ja.utf8.txt
+1365
-1365
_docs_en.properties
h2/src/docsrc/textbase/_docs_en.properties
+406
-398
Trigger.java
h2/src/main/org/h2/api/Trigger.java
+4
-1
Constants.java
h2/src/main/org/h2/engine/Constants.java
+4
-4
IndexCursor.java
h2/src/main/org/h2/index/IndexCursor.java
+1
-1
FileObjectMemory.java
h2/src/main/org/h2/store/fs/FileObjectMemory.java
+1
-9
FileObjectMemoryData.java
h2/src/main/org/h2/store/fs/FileObjectMemoryData.java
+54
-10
FileSystem.java
h2/src/main/org/h2/store/fs/FileSystem.java
+1
-0
newsfeed.sql
h2/src/test/org/h2/samples/newsfeed.sql
+1
-0
TestBase.java
h2/src/test/org/h2/test/TestBase.java
+2
-3
RecordingFileSystem.java
h2/src/test/org/h2/test/utils/RecordingFileSystem.java
+16
-2
dictionary.txt
h2/src/tools/org/h2/build/doc/dictionary.txt
+2
-1
没有找到文件。
h2/src/docsrc/help/help.csv
浏览文件 @
99fa5f60
...
@@ -503,6 +503,7 @@ CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
...
@@ -503,6 +503,7 @@ CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
","
","
Creates a new schema. If no owner is specified, the current user is used. The
Creates a new schema. If no owner is specified, the current user is used. The
user that executes the command must have admin rights, as well as the owner.
user that executes the command must have admin rights, as well as the owner.
Specifying the owner currently has no effect.
This command commits an open transaction.
This command commits an open transaction.
","
","
...
...
h2/src/docsrc/html/changelog.html
浏览文件 @
99fa5f60
...
@@ -18,14 +18,18 @@ Change Log
...
@@ -18,14 +18,18 @@ Change Log
<h1>
Change Log
</h1>
<h1>
Change Log
</h1>
<h2>
Next Version (unreleased)
</h2>
<h2>
Next Version (unreleased)
</h2>
<ul><li>
</li></ul>
<h2>
Version 1.2.135 (2010-05-08)
</h2>
<ul><li>
Temporary files were not deleted when using large transactions, disabling autocommit,
<ul><li>
Temporary files were not deleted when using large transactions, disabling autocommit,
and closing the session without committing.
and closing the session without committing.
<li>
Queries using multiple IN(..) conditions on the same table could cause repeated rows in the result set.
<
/li><
li>
Queries using multiple IN(..) conditions on the same table could cause repeated rows in the result set.
</li><li>
Translation: Lubomir Grajciar translated the H2 Console as well as all error message to Slovensky. Thanks a lot!
</li><li>
Translation: Lubomir Grajciar translated the H2 Console as well as all error message to Slovensky. Thanks a lot!
</li><li>
There was a possible Java level deadlock when opening an uninitialized database and using
</li><li>
There was a possible Java level deadlock when opening an uninitialized database and using
a file system that also opened a database.
a file system that also opened a database.
</li><li>
When killing the process while the database was writing a checkpoint, while it was closing,
</li><li>
When killing the process while the database was writing a checkpoint, while it was closing,
or while running recovery (while removing temporary tables from a previous run), the database could become corrupt.
or while running recovery (while removing temporary tables from a previous run), the database could become corrupt.
A new test case has been implemented to ensure such problems can not occur in the future.
A new test case has been implemented to ensure such problems can not occur in the future.
</li><li>
File system: new method FileSystem.setReadOnly.
</li><li>
File system: new method FileSystem.setReadOnly.
</li><li>
The page size for new databases can now be set in the database URL using ;PAGE_SIZE=512.
</li><li>
The page size for new databases can now be set in the database URL using ;PAGE_SIZE=512.
...
...
h2/src/docsrc/html/history.html
浏览文件 @
99fa5f60
...
@@ -123,6 +123,7 @@ via PayPal:
...
@@ -123,6 +123,7 @@ via PayPal:
</li><li>
Bjorn Darri Sigurdsson, Iceland
</li><li>
Bjorn Darri Sigurdsson, Iceland
</li><li>
Iyama Jun, Japan
</li><li>
Iyama Jun, Japan
</li><li>
Gray Watson, USA
</li><li>
Gray Watson, USA
</li><li>
Erik Dick, Germany
</li></ul>
</li></ul>
<!-- [close] { -->
</div></td></tr></table>
<!-- } --><!-- analytics -->
</body></html>
<!-- [close] { -->
</div></td></tr></table>
<!-- } --><!-- analytics -->
</body></html>
...
...
h2/src/docsrc/html/roadmap.html
浏览文件 @
99fa5f60
...
@@ -49,6 +49,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
...
@@ -49,6 +49,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>
Test very large databases and LOBs (up to 256 GB).
</li><li>
Test very large databases and LOBs (up to 256 GB).
</li><li>
Support hints for the optimizer (which index to use, enforce the join order).
</li><li>
Support hints for the optimizer (which index to use, enforce the join order).
</li><li>
Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE.
</li><li>
Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE.
</li><li>
Access rights: remember the owner of an object. Create, alter and drop privileges. COMMENT: allow owner of object to change it.
</li><li>
Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED).
</li><li>
Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED).
</li><li>
Groovy Stored Procedures: http://groovy.codehaus.org/Groovy+SQL
</li><li>
Groovy Stored Procedures: http://groovy.codehaus.org/Groovy+SQL
</li><li>
Add a migration guide (list differences between databases).
</li><li>
Add a migration guide (list differences between databases).
...
@@ -71,7 +72,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
...
@@ -71,7 +72,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>
Set a connection read only (Connection.setReadOnly) or using a connection parameter.
</li><li>
Set a connection read only (Connection.setReadOnly) or using a connection parameter.
</li><li>
Optimizer: use an index for IS NULL and IS NOT NULL (including linked tables).
</li><li>
Optimizer: use an index for IS NULL and IS NOT NULL (including linked tables).
ID IS NOT NULL could be converted to ID
>
= Integer.MIN_VALUE.
ID IS NOT NULL could be converted to ID
>
= Integer.MIN_VALUE.
</li><li>
Access rights: remember the owner of an object. COMMENT: allow owner of object to change it.
</li><li>
Access rights: finer grained access control (grant access for specific functions).
</li><li>
Access rights: finer grained access control (grant access for specific functions).
</li><li>
Version check: docs / web console (using Javascript), and maybe in the library (using TCP/IP).
</li><li>
Version check: docs / web console (using Javascript), and maybe in the library (using TCP/IP).
</li><li>
Web server classloader: override findResource / getResourceFrom.
</li><li>
Web server classloader: override findResource / getResourceFrom.
...
@@ -467,6 +467,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
...
@@ -467,6 +467,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>
Maybe use PhantomReference instead of finalize.
</li><li>
Maybe use PhantomReference instead of finalize.
</li><li>
Database file name suffix: a way to use no or a different suffix (for example using a slash).
</li><li>
Database file name suffix: a way to use no or a different suffix (for example using a slash).
</li><li>
Database file name suffix: should only have one dot by default. Example: .h2db
</li><li>
Database file name suffix: should only have one dot by default. Example: .h2db
</li><li>
Issue 196: Function based indexes
</li></ul>
</li></ul>
<h2>
Not Planned
</h2>
<h2>
Not Planned
</h2>
...
...
h2/src/docsrc/text/_docs_en.utf8.txt
浏览文件 @
99fa5f60
差异被折叠。
点击展开。
h2/src/docsrc/text/_docs_ja.utf8.txt
浏览文件 @
99fa5f60
差异被折叠。
点击展开。
h2/src/docsrc/textbase/_docs_en.properties
浏览文件 @
99fa5f60
This source diff could not be displayed because it is too large. You can
view the blob
instead.
h2/src/main/org/h2/api/Trigger.java
浏览文件 @
99fa5f60
...
@@ -58,7 +58,10 @@ public interface Trigger {
...
@@ -58,7 +58,10 @@ public interface Trigger {
* within the trigger, if the operations occurred within the same database.
* within the trigger, if the operations occurred within the same database.
* If the trigger changes state outside the database, a rollback trigger
* If the trigger changes state outside the database, a rollback trigger
* should be used.
* should be used.
*
* <p>
* The row arrays contain all columns of the table, in the same order
* as defined in the table.
* </p>
* @param conn a connection to the database
* @param conn a connection to the database
* @param oldRow the old row, or null if no old row is available (for
* @param oldRow the old row, or null if no old row is available (for
* INSERT)
* INSERT)
...
...
h2/src/main/org/h2/engine/Constants.java
浏览文件 @
99fa5f60
...
@@ -14,12 +14,12 @@ public class Constants {
...
@@ -14,12 +14,12 @@ public class Constants {
/**
/**
* The build id is incremented for each public release.
* The build id is incremented for each public release.
*/
*/
public
static
final
int
BUILD_ID
=
13
4
;
public
static
final
int
BUILD_ID
=
13
5
;
/**
/**
* The build id of the last stable release.
* The build id of the last stable release.
*/
*/
public
static
final
int
BUILD_ID_STABLE
=
13
3
;
public
static
final
int
BUILD_ID_STABLE
=
13
4
;
/**
/**
* If H2 is compiled to be included in a product, this should be set to
* If H2 is compiled to be included in a product, this should be set to
...
@@ -32,12 +32,12 @@ public class Constants {
...
@@ -32,12 +32,12 @@ public class Constants {
/**
/**
* The build date is updated for each public release.
* The build date is updated for each public release.
*/
*/
public
static
final
String
BUILD_DATE
=
"2010-0
4-23
"
;
public
static
final
String
BUILD_DATE
=
"2010-0
5-08
"
;
/**
/**
* The build date is updated for each public release.
* The build date is updated for each public release.
*/
*/
public
static
final
String
BUILD_DATE_STABLE
=
"2010-04-
10
"
;
public
static
final
String
BUILD_DATE_STABLE
=
"2010-04-
23
"
;
/**
/**
* The TCP protocol version number. This protocol is used by the TCP
* The TCP protocol version number. This protocol is used by the TCP
...
...
h2/src/main/org/h2/index/IndexCursor.java
浏览文件 @
99fa5f60
...
@@ -138,7 +138,7 @@ public class IndexCursor implements Cursor {
...
@@ -138,7 +138,7 @@ public class IndexCursor implements Cursor {
return
false
;
return
false
;
}
}
// The first column of the index must match this column,
// The first column of the index must match this column,
// or it must be a VIEW index
e
(where the column is null).
// or it must be a VIEW index (where the column is null).
// Multiple IN conditions with views are not supported, see
// Multiple IN conditions with views are not supported, see
// IndexCondition.getMask.
// IndexCondition.getMask.
IndexColumn
idxCol
=
indexColumns
[
0
];
IndexColumn
idxCol
=
indexColumns
[
0
];
...
...
h2/src/main/org/h2/store/fs/FileObjectMemory.java
浏览文件 @
99fa5f60
...
@@ -54,7 +54,7 @@ public class FileObjectMemory implements FileObject {
...
@@ -54,7 +54,7 @@ public class FileObjectMemory implements FileObject {
}
}
public
void
sync
()
{
public
void
sync
()
{
data
.
sync
();
// do nothing
}
}
public
void
setName
(
String
name
)
{
public
void
setName
(
String
name
)
{
...
@@ -69,12 +69,4 @@ public class FileObjectMemory implements FileObject {
...
@@ -69,12 +69,4 @@ public class FileObjectMemory implements FileObject {
return
data
.
getLastModified
();
return
data
.
getLastModified
();
}
}
boolean
canWrite
()
{
return
data
.
canWrite
();
}
boolean
setReadOnly
()
{
return
data
.
setReadOnly
();
}
}
}
h2/src/main/org/h2/store/fs/FileObjectMemoryData.java
浏览文件 @
99fa5f60
...
@@ -17,7 +17,7 @@ import org.h2.util.MathUtils;
...
@@ -17,7 +17,7 @@ import org.h2.util.MathUtils;
* This class contains the data of an in-memory random access file.
* This class contains the data of an in-memory random access file.
* Data compression using the LZF algorithm is supported as well.
* Data compression using the LZF algorithm is supported as well.
*/
*/
public
class
FileObjectMemoryData
{
class
FileObjectMemoryData
{
private
static
final
int
CACHE_SIZE
=
8
;
private
static
final
int
CACHE_SIZE
=
8
;
private
static
final
int
BLOCK_SIZE_SHIFT
=
10
;
private
static
final
int
BLOCK_SIZE_SHIFT
=
10
;
...
@@ -148,6 +148,9 @@ public class FileObjectMemoryData {
...
@@ -148,6 +148,9 @@ public class FileObjectMemoryData {
}
}
}
}
/**
* Update the last modified time.
*/
void
touch
()
throws
IOException
{
void
touch
()
throws
IOException
{
if
(
isReadOnly
)
{
if
(
isReadOnly
)
{
throw
new
IOException
(
"Read only"
);
throw
new
IOException
(
"Read only"
);
...
@@ -155,10 +158,20 @@ public class FileObjectMemoryData {
...
@@ -155,10 +158,20 @@ public class FileObjectMemoryData {
lastModified
=
System
.
currentTimeMillis
();
lastModified
=
System
.
currentTimeMillis
();
}
}
/**
* Get the file length.
*
* @return the length
*/
long
length
()
{
long
length
()
{
return
length
;
return
length
;
}
}
/**
* Change the file length.
*
* @param newLength the new length
*/
void
setFileLength
(
long
newLength
)
{
void
setFileLength
(
long
newLength
)
{
if
(
newLength
<
length
)
{
if
(
newLength
<
length
)
{
changeLength
(
newLength
);
changeLength
(
newLength
);
...
@@ -193,6 +206,16 @@ public class FileObjectMemoryData {
...
@@ -193,6 +206,16 @@ public class FileObjectMemoryData {
}
}
}
}
/**
* Read or write.
*
* @param pos the position
* @param b the byte array
* @param off the offset within the byte array
* @param len the number of bytes
* @param write true for writing
* @return the new position
*/
long
readWrite
(
long
pos
,
byte
[]
b
,
int
off
,
int
len
,
boolean
write
)
throws
IOException
{
long
readWrite
(
long
pos
,
byte
[]
b
,
int
off
,
int
len
,
boolean
write
)
throws
IOException
{
long
end
=
pos
+
len
;
long
end
=
pos
+
len
;
if
(
end
>
length
)
{
if
(
end
>
length
)
{
...
@@ -226,27 +249,48 @@ public class FileObjectMemoryData {
...
@@ -226,27 +249,48 @@ public class FileObjectMemoryData {
return
pos
;
return
pos
;
}
}
public
void
sync
()
{
/**
// nothing to do
* Set the file name.
}
*
* @param name the name
public
void
setName
(
String
name
)
{
*/
void
setName
(
String
name
)
{
this
.
name
=
name
;
this
.
name
=
name
;
}
}
public
String
getName
()
{
/**
* Get the file name
*
* @return the name
*/
String
getName
()
{
return
name
;
return
name
;
}
}
public
long
getLastModified
()
{
/**
* Get the last modified time.
*
* @return the time
*/
long
getLastModified
()
{
return
lastModified
;
return
lastModified
;
}
}
public
boolean
canWrite
()
{
/**
* Check whether writing is allowed.
*
* @return true if it is
*/
boolean
canWrite
()
{
return
!
isReadOnly
;
return
!
isReadOnly
;
}
}
public
boolean
setReadOnly
()
{
/**
* Set the read-only flag.
*
* @return true
*/
boolean
setReadOnly
()
{
isReadOnly
=
true
;
isReadOnly
=
true
;
return
true
;
return
true
;
}
}
...
...
h2/src/main/org/h2/store/fs/FileSystem.java
浏览文件 @
99fa5f60
...
@@ -293,6 +293,7 @@ public abstract class FileSystem {
...
@@ -293,6 +293,7 @@ public abstract class FileSystem {
/**
/**
* Disable the ability to write.
* Disable the ability to write.
*
*
* @param fileName the file name
* @return true if the call was successful
* @return true if the call was successful
*/
*/
public
abstract
boolean
setReadOnly
(
String
fileName
);
public
abstract
boolean
setReadOnly
(
String
fileName
);
...
...
h2/src/test/org/h2/samples/newsfeed.sql
浏览文件 @
99fa5f60
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
CREATE
TABLE
VERSION
(
ID
INT
PRIMARY
KEY
,
VERSION
VARCHAR
,
CREATED
VARCHAR
);
CREATE
TABLE
VERSION
(
ID
INT
PRIMARY
KEY
,
VERSION
VARCHAR
,
CREATED
VARCHAR
);
INSERT
INTO
VERSION
VALUES
INSERT
INTO
VERSION
VALUES
(
85
,
'1.2.135'
,
'2010-05-08'
),
(
84
,
'1.2.134'
,
'2010-04-23'
),
(
84
,
'1.2.134'
,
'2010-04-23'
),
(
83
,
'1.2.133'
,
'2010-04-10'
),
(
83
,
'1.2.133'
,
'2010-04-10'
),
(
82
,
'1.2.132'
,
'2010-03-21'
),
(
82
,
'1.2.132'
,
'2010-03-21'
),
...
...
h2/src/test/org/h2/test/TestBase.java
浏览文件 @
99fa5f60
...
@@ -197,11 +197,10 @@ public abstract class TestBase {
...
@@ -197,11 +197,10 @@ public abstract class TestBase {
}
}
/**
/**
* Get the
file translated file name
.
* Get the
base directory for tests
.
* If a special file system is used, the prefix is prepended.
* If a special file system is used, the prefix is prepended.
*
*
* @param name the original file name
* @return the directory, possibly including file system prefix
* @return the translated file name
*/
*/
protected
String
getBaseDir
()
{
protected
String
getBaseDir
()
{
if
(
config
!=
null
&&
config
.
record
)
{
if
(
config
!=
null
&&
config
.
record
)
{
...
...
h2/src/test/org/h2/test/utils/RecordingFileSystem.java
浏览文件 @
99fa5f60
...
@@ -206,11 +206,25 @@ public class RecordingFileSystem extends FileSystem {
...
@@ -206,11 +206,25 @@ public class RecordingFileSystem extends FileSystem {
this
.
trace
=
trace
;
this
.
trace
=
trace
;
}
}
public
void
log
(
int
op
,
String
fileName
)
{
/**
* Log the operation.
*
* @param op the operation
* @param fileName the file name
*/
void
log
(
int
op
,
String
fileName
)
{
log
(
op
,
fileName
,
null
,
0
);
log
(
op
,
fileName
,
null
,
0
);
}
}
public
void
log
(
int
op
,
String
fileName
,
byte
[]
data
,
long
x
)
{
/**
* Log the operation.
*
* @param op the operation
* @param fileName the file name
* @param data the data or null
* @param x the value or 0
*/
void
log
(
int
op
,
String
fileName
,
byte
[]
data
,
long
x
)
{
if
(
recorder
!=
null
)
{
if
(
recorder
!=
null
)
{
recorder
.
log
(
op
,
fileName
,
data
,
x
);
recorder
.
log
(
op
,
fileName
,
data
,
x
);
}
}
...
...
h2/src/tools/org/h2/build/doc/dictionary.txt
浏览文件 @
99fa5f60
...
@@ -643,4 +643,5 @@ equivalent synchronizes sullivan surname doe stepan getstart rojas snprintf
...
@@ -643,4 +643,5 @@ equivalent synchronizes sullivan surname doe stepan getstart rojas snprintf
pulakka pagination collide visual aejaks simulation joonas finland minneapolis
pulakka pagination collide visual aejaks simulation joonas finland minneapolis
determine timestampdiff harmony doap shortdesc wireless iceland sigurdsson
determine timestampdiff harmony doap shortdesc wireless iceland sigurdsson
darri chunks bjorn chunked watson regardless usefulinc represented pushd
darri chunks bjorn chunked watson regardless usefulinc represented pushd
recorder grajciar recording slovensky uninitialized arriving lubomir
recorder grajciar recording slovensky uninitialized arriving lubomir unchanged
\ No newline at end of file
erik dick
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论