提交 2906f485 authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 f37b24e5
......@@ -17,7 +17,9 @@ Change Log
<h2>Next Version (unreleased)</h2>
<ul>
<li>Sometimes an exception 'File ID mismatch' or 'try to add a record twice'
<li>H2 is now dual-licensed under the Eclipse Public License (EPL) and the
old 'H2 License' (which is basically MPL).
</li><li>Sometimes an exception 'File ID mismatch' or 'try to add a record twice'
occured after large records (8 KB or larger) are updated or deleted.
See also http://code.google.com/p/h2database/issues/detail?id=22
</li><li>H2 Console: The tools can now be translated
......
......@@ -67,7 +67,7 @@ public class WebServer implements Service {
{ "ru", "\u0440\u0443\u0441\u0441\u043a\u0438\u0439"},
{ "tr", "T\u00fcrk\u00e7e"},
{ "uk", "\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"},
{ "zh_CN", "\u4e2d\u6587 (\u7c21\u9ad4)"},
{ "zh_CN", "\u4e2d\u6587 (\u7b80\u4f53)"},
{ "zh_TW", "\u4e2d\u6587 (\u7e41\u9ad4)"},
};
......
.translator=junheng.song (sjh21 (at) hot mail (dot) com); Created by JInto - www.guh-software.de - Mon Apr 10 2006
a.help=\u5E2E\u52A9
a.language=\u4E2D\u6587
a.language=\u4E2D\u6587 (\u7B80\u4F53)
a.lynxNotSupported=\u62B1\u6B49, \u76EE\u524D\u8FD8\u4E0D\u652F\u6301Lynx
a.password=\u5BC6\u7801
a.remoteConnectionsDisabled=\u62B1\u6B49, \u670D\u52A1\u5668\u4E0A\u7684\u8FDC\u7A0B\u8BA1\u7B97\u673A\u8FDE\u63A5\u88AB\u7981\u7528.
......
......@@ -94,45 +94,45 @@ toolbar.refresh=\u66F4\u65B0
toolbar.rollback=\u9000\u8FD4 (rollback)
toolbar.run=\u57F7\u884C (Ctrl+Enter)
toolbar.sqlStatement=SQL \u8FF0\u53E5
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changePassword=\#ChangePassword
tools.changePassword.help=\#Allows changing the database file password.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
tools.convertTraceFile.help=\#Converts a .trace.db file to a Java application and SQL script.
tools.createCluster=\#CreateCluster
tools.createCluster.help=\#Creates a cluster from a standalone database.
tools.databaseName=\#Database name
tools.decryptionPassword=\#Decryption password
tools.deleteDbFiles=\#DeleteDbFiles
tools.deleteDbFiles.help=\#Deletes all files belonging to a database.
tools.directory=\#Directory
tools.encryptionPassword=\#Encryption password
tools.javaDirectoryClassName=\#Java directory and class name
tools.recover=\#Recover
tools.recover.help=\#Helps recovering a corrupted database.
tools.restore=\#Restore
tools.restore.help=\#Restores a database backup.
tools.result=\#Result
tools.run=\#Run
tools.runScript=\#RunScript
tools.runScript.help=\#Runs a SQL script.
tools.script=\#Script
tools.script.help=\#Allows to convert a database to a SQL script for backup or migration.
tools.scriptFileName=\#Script file name
tools.serverList=\#Server list
tools.sourceDatabaseName=\#Source database name
tools.sourceDatabaseURL=\#Source database URL
tools.sourceDirectory=\#Target directory
tools.sourceFileName=\#Source file name
tools.sourceScriptFileName=\#Source script file name
tools.targetDatabaseName=\#Target database name
tools.targetDatabaseURL=\#Target database URL
tools.targetFileName=\#Target file name
tools.targetScriptFileName=\#Target script file name
tools.traceFileName=\#Trace file name
tools.backup=\u5099\u4EFD
tools.backup.help=\u5EFA\u7ACB\u8CC7\u6599\u5EAB\u7684\u5099\u4EFD
tools.changePassword=\u8B8A\u66F4\u5BC6\u78BC
tools.changePassword.help=\u5141\u8A31\u8B8A\u66F4\u8CC7\u6599\u5EAB\u6A94\u6848\u7684\u5BC6\u78BC
tools.cipher=\u52A0\u5BC6 (AES \u6216 XTEA)
tools.commandLine=\u547D\u4EE4\u5217
tools.convertTraceFile=\u8F49\u63DBTrace\u6A94\u6848
tools.convertTraceFile.help=\u5C07.trace.db\u6A94\u6848\u8F49\u63DB\u6210Java\u61C9\u7528\u7A0B\u5F0F\u8207SQL\u8173\u672C (script).
tools.createCluster=\u5EFA\u7ACB\u53E2\u96C6 (Cluster)
tools.createCluster.help=\u81EA\u7368\u7ACB\u7684\u8CC7\u6599\u5EAB\u5EFA\u7ACB\u53E2\u96C6 (Cluster)
tools.databaseName=\u8CC7\u6599\u5EAB\u540D\u7A31
tools.decryptionPassword=\u660E\u6587\u5BC6\u78BC
tools.deleteDbFiles=\u522A\u9664\u8CC7\u6599\u5EAB\u6A94\u6848
tools.deleteDbFiles.help=\u522A\u9664\u67D0\u4E00\u8CC7\u6599\u5EAB\u7684\u6240\u6709\u76F8\u95DC\u6A94\u6848
tools.directory=\u76EE\u9304
tools.encryptionPassword=\u5BC6\u6587\u5BC6\u78BC
tools.javaDirectoryClassName=Java\u76EE\u9304 (directory) \u8207\u985E\u5225 (class) \u540D\u7A31
tools.recover=\u4FEE\u5FA9
tools.recover.help=\u5354\u52A9\u4FEE\u5FA9\u640D\u58DE\u7684\u8CC7\u6599\u5EAB
tools.restore=\u56DE\u5B58
tools.restore.help=\u56DE\u5B58\u8CC7\u6599\u5EAB\u7684\u5099\u4EFD
tools.result=\u7D50\u679C
tools.run=\u57F7\u884C
tools.runScript=\u57F7\u884C\u8173\u672C (Script)
tools.runScript.help=\u57F7\u884CSQL\u8173\u672C (script)
tools.script=\u8173\u672C (Script)
tools.script.help=\u5141\u8A31\u81EA\u8CC7\u6599\u5EAB\u8F49\u63DB\u51FA\u70BA\u5099\u4EFD\u6216\u642C\u9077\u7528\u7684SQL\u8173\u672C(script)
tools.scriptFileName=\u8173\u672C (Script) \u6A94\u6848\u540D\u7A31
tools.serverList=\u4F3A\u670D\u5668\u6E05\u55AE
tools.sourceDatabaseName=\u4F86\u6E90 (source) \u8CC7\u6599\u5EAB\u540D\u7A31
tools.sourceDatabaseURL=\u4F86\u6E90 (source) \u8CC7\u6599\u5EABURL
tools.sourceDirectory=\u76EE\u7684\u76EE\u9304 (target directory)
tools.sourceFileName=\u4F86\u6E90 (source) \u6A94\u6848\u540D\u7A31
tools.sourceScriptFileName=\u4F86\u6E90\u8173\u672C (script) \u6A94\u6848\u540D\u7A31
tools.targetDatabaseName=\u76EE\u7684 (target) \u8CC7\u6599\u5EAB\u540D\u7A31
tools.targetDatabaseURL=\u76EE\u7684 (target) \u8CC7\u6599\u5EABURL
tools.targetFileName=\u76EE\u7684 (target) \u6A94\u6848\u540D\u7A31
tools.targetScriptFileName=\u76EE\u7684\u8173\u672C (script) \u6A94\u6848\u540D\u7A31
tools.traceFileName=Trace \u6A94\u6848\u540D\u7A31
tree.admin=\u7BA1\u7406
tree.current=\u76EE\u524D\u7684\u6578\u503C
tree.hashed=\u4F7F\u7528\u96DC\u6E4A\u6CD5 (hashed)
......
......@@ -584,15 +584,19 @@ public class StringUtils {
}
public static String replaceAll(String s, String before, String after) {
StringBuffer buff = new StringBuffer(s.length());
int index = 0;
while (true) {
int next = s.indexOf(before, index);
if (next < 0) {
return s;
buff.append(s.substring(index));
break;
}
s = s.substring(0, next) + after + s.substring(next + before.length());
index = next + after.length();
buff.append(s.substring(index, next));
buff.append(after);
index = next + before.length();
}
return buff.toString();
}
public static String quoteIdentifier(String s) {
......
......@@ -160,7 +160,7 @@ java org.h2.test.TestAll timer
/*
Multiple-Multiple-Licensed under the H2 License,
upload jazoon
test case for out of memory (try to corrupt the database using out of memory)
......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright 2004-2008 H2 Group. Multiple-Licensed under the H2 License, Version 1.0,,
Copyright 2004-2008 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).
(http://h2database.com/html/license.html).
Initial Developer: H2 Group
-->
<html>
......
......@@ -8,12 +8,11 @@ package org.h2.build;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.h2.build.code.SwitchSource;
/**
* The implementation of the pure Java build.
* The build definition.
*/
public class Build extends BuildBase {
......@@ -55,11 +54,11 @@ public class Build extends BuildBase {
}
public void resources() {
List files = getFiles("src/main");
files = filterFiles(files, false, "*.java");
files = filterFiles(files, false, "*/package.html");
files = filterFiles(files, false, "*/java.sql.Driver");
zip("temp/org/h2/util/data.zip", "src/main", files, true, false);
FileList files = getFiles("src/main").
exclude("*.java").
exclude("*/package.html").
exclude("*/java.sql.Driver");
zip("temp/org/h2/util/data.zip", files, "src/main", true, false);
}
private void manifest(String mainClassName) {
......@@ -67,8 +66,8 @@ public class Build extends BuildBase {
String version = getStaticField("org.h2.engine.Constants", "VERSION");
manifest = replaceAll(manifest, "${version}", version);
manifest = replaceAll(manifest, "${buildJdk}", getJavaSpecVersion());
String createdBy = System.getProperty("java.runtime.version") + " (" + System.getProperty("java.vm.vendor")
+ ")";
String createdBy = System.getProperty("java.runtime.version") +
" (" + System.getProperty("java.vm.vendor") + ")";
manifest = replaceAll(manifest, "${createdBy}", createdBy);
String mainClassTag = manifest == null ? "" : "Main-Class: " + mainClassName;
manifest = replaceAll(manifest, "${mainClassTag}", mainClassTag);
......@@ -78,33 +77,33 @@ public class Build extends BuildBase {
public void jar() {
compile();
manifest("org.h2.tools.Console");
List files = getFiles("temp");
files = filterFiles(files, false, "temp/org/h2/dev/*");
files = filterFiles(files, false, "temp/org/h2/build/*");
files = filterFiles(files, false, "temp/org/h2/samples/*");
files = filterFiles(files, false, "temp/org/h2/test/*");
files = filterFiles(files, false, "*.bat");
files = filterFiles(files, false, "*.sh");
files = filterFiles(files, false, "*.txt");
jar("bin/h2.jar", "temp", files);
FileList files = getFiles("temp").
exclude("temp/org/h2/dev/*").
exclude("temp/org/h2/build/*").
exclude("temp/org/h2/samples/*").
exclude("temp/org/h2/test/*").
exclude("*.bat").
exclude("*.sh").
exclude("*.txt");
jar("bin/h2.jar", files, "temp");
}
public void jarSmall() {
compile(false);
List files = getFiles("temp");
files = filterFiles(files, false, "temp/org/h2/dev/*");
files = filterFiles(files, false, "temp/org/h2/build/*");
files = filterFiles(files, false, "temp/org/h2/samples/*");
files = filterFiles(files, false, "temp/org/h2/test/*");
files = filterFiles(files, false, "*.bat");
files = filterFiles(files, false, "*.sh");
files = filterFiles(files, false, "*.txt");
files = filterFiles(files, false, "temp/META-INF/*");
zip("temp/h2classes.zip", "temp", files, true, true);
FileList files = getFiles("temp").
exclude("temp/org/h2/dev/*").
exclude("temp/org/h2/build/*").
exclude("temp/org/h2/samples/*").
exclude("temp/org/h2/test/*").
exclude("*.bat").
exclude("*.sh").
exclude("*.txt").
exclude("temp/META-INF/*");
zip("temp/h2classes.zip", files, "temp", true, true);
manifest("org.h2.tools.Console\nClass-Path: h2classes.zip");
files = getFiles("temp/h2classes.zip");
files.addAll(getFiles("temp/META-INF"));
jar("bin/h2small.jar", "temp", files);
jar("bin/h2small.jar", files, "temp");
}
public void download() {
......@@ -135,7 +134,7 @@ public class Build extends BuildBase {
+ "ext/lucene-core-2.2.0.jar" + File.pathSeparator + System.getProperty("java.home")
+ "/../lib/tools.jar";
List files = getFiles("src/main");
FileList files = getFiles("src/main");
if (debugInfo) {
javac(new String[] { "-d", "temp", "-sourcepath", "src/main", "-classpath", classpath }, files);
} else {
......@@ -150,14 +149,13 @@ public class Build extends BuildBase {
files = getFiles("src/main/META-INF/services");
copy("temp", files, "src/main");
files = getFiles("src/installer");
files = filterFiles(files, true, "*.bat");
files = filterFiles(files, true, "*.sh");
files = getFiles("src/installer").keep("*.bat");
files.addAll(getFiles("src/installer").keep("*.sh"));
copy("temp", files, "src/installer");
files = getFiles("src/test");
files = filterFiles(files, false, "*.java");
files = filterFiles(files, false, "*/package.html");
files = getFiles("src/test").
exclude("*.java").
exclude("*/package.html");
copy("temp", files, "src/test");
}
......
......@@ -32,8 +32,8 @@ public class CheckTextFiles {
boolean autoFix = true;
boolean useCRLF = true;
// must contain "+" otherwise this here counts as well
String copyrightLicense = "Copyright 2004-2008 H2 Group. " +
"Multiple-Licensed under the H2 License,";
static final String COPYRIGHT = "Copyright 2004-2008 " + "H2 Group.";
static final String LICENSE = "Multiple-Licensed " + "under the H2 License";
String[] suffixIgnoreLicense = new String[] { "bat", "nsi", "txt", "properties", "xml", "java.sql.Driver", "task", "sh" };
boolean hasError;
......@@ -106,10 +106,13 @@ public class CheckTextFiles {
in.readFully(data);
in.close();
if (checkLicense) {
if (data.length > copyrightLicense.length()) {
if (data.length > COPYRIGHT.length() + LICENSE.length()) {
// don't check tiny files
String text = new String(data);
if (text.indexOf(copyrightLicense) < 0) {
if (text.indexOf(COPYRIGHT) < 0) {
fail(file, "copyright is missing", 0);
}
if (text.indexOf(LICENSE) < 0) {
fail(file, "license is missing", 0);
}
if (text.indexOf("// " + "##") > 0) {
......
......@@ -495,4 +495,14 @@ compressibility ext crc enumerate components mkdir jant downloading mismatch
timebomb thinks technotes chmod overloading javase flux solves fastest
quickstarter bridge bpm trust guides improvements customizing easiest
workflow seque npl netstat ano spellcheck eplfaq opensource zdnet burnette
regard epl huge chao derek nls
\ No newline at end of file
regard epl huge chao derek nls lawsuits counterclaim participate assurances
cooperate indemnified disclaims practicable cease solely receives partners
exchange agrees inconsistency customarily reproduction arose noncompliance
serve contributions publicly facilitate implication jury acceptance revisions
accompanying bring unavailability iii appropriateness originate laws stated
although sole accordance filed originates responsibilities alleged defend
material hereto equipment copyrighted enforceability excludes licensees
estoppel manner reserves defense complies suitable identify infringe
originator brought contribution effectively assumes waives conjunction
informs negotiations collectively omissions trial nor qualify steward neither
worldwide everyone additions expense lawsuit checksums jazoon
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论