Unverified 提交 57b2b3ae authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov 提交者: GitHub

Merge pull request #1553 from katzyn/misc

Remove comparison from features.html and unused dependencies from pom.xml
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
<properties> <properties>
<maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.target>1.7</maven.compiler.target>
<derby.version>10.10.1.1</derby.version>
<osgi.version>4.2.0</osgi.version> <osgi.version>4.2.0</osgi.version>
<slf4j.version>1.6.0</slf4j.version> <slf4j.version>1.6.0</slf4j.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...@@ -98,40 +97,10 @@ ...@@ -98,40 +97,10 @@
<version>${slf4j.version}</version> <version>${slf4j.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>${derby.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>${derby.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbynet</artifactId>
<version>${derby.version}</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.postgresql</groupId> <groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId> <artifactId>postgresql</artifactId>
<version>9.4.1209.jre6</version> <version>42.2.5.jre7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -21,6 +21,8 @@ Change Log ...@@ -21,6 +21,8 @@ Change Log
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul> <ul>
<li>Issue #950: Comparison between databases in README.md and in features.html
</li>
<li>Issue #1549: [RFE] Implement locking modes (select for update) <li>Issue #1549: [RFE] Implement locking modes (select for update)
</li> </li>
<li>PR #1548: Add AsynchronousFileChannel-based experimental FilePathAsync <li>PR #1548: Add AsynchronousFileChannel-based experimental FilePathAsync
......
...@@ -21,8 +21,6 @@ Features ...@@ -21,8 +21,6 @@ Features
<a href="#feature_list"> <a href="#feature_list">
Feature List</a><br /> Feature List</a><br />
<a href="#comparison">
Comparison to Other Database Engines</a><br />
<a href="#products_work_with"> <a href="#products_work_with">
H2 in Use</a><br /> H2 in Use</a><br />
<a href="#connection_modes"> <a href="#connection_modes">
...@@ -160,227 +158,6 @@ encrypted using the AES-128 encryption algorithm ...@@ -160,227 +158,6 @@ encrypted using the AES-128 encryption algorithm
</li><li>Well tested (high code coverage, randomized stress tests) </li><li>Well tested (high code coverage, randomized stress tests)
</li></ul> </li></ul>
<h2 id="comparison">Comparison to Other Database Engines</h2>
<p>
This comparison is based on
H2 1.3,
<a href="http://db.apache.org/derby">Apache Derby version 10.8</a>,
<a href="http://hsqldb.org">HSQLDB 2.2</a>,
<a href="https://www.mysql.com/">MySQL 5.5</a>,
<a href="https://www.postgresql.org/">PostgreSQL 9.0</a>.
</p>
<table class="main">
<tr>
<th>Feature</th>
<th>H2</th>
<th>Derby</th>
<th>HSQLDB</th>
<th>MySQL</th>
<th>PostgreSQL</th>
</tr><tr>
<td>Pure Java</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
</tr><tr>
<td>Embedded Mode (Java)</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
</tr><tr>
<td>In-Memory Mode</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
</tr><tr>
</tr><tr>
<td>Explain Plan</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *12</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Built-in Clustering / Replication</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Encrypted Database</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *10</td>
<td class="compareY">Yes *10</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
</tr><tr>
<td>Linked Tables</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Partially *1</td>
<td class="compareY">Partially *2</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>ODBC Driver</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Fulltext Search</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Domains (User-Defined Types)</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Files per Database</td>
<td class="compareY">Few</td>
<td class="compareN">Many</td>
<td class="compareY">Few</td>
<td class="compareN">Many</td>
<td class="compareN">Many</td>
</tr><tr>
<td>Row Level Locking</td>
<td class="compareY">Yes *9</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *9</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Multi Version Concurrency</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Multi-Threaded Processing</td>
<td class="compareN">No *11</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Role Based Security</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *3</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Updatable Result Sets</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *7</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Sequences</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Limit and Offset</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *13</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Window Functions</td>
<td class="compareN">No *15</td>
<td class="compareN">No *15</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Temporary Tables</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *4</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Information Schema</td>
<td class="compareY">Yes</td>
<td class="compareN">No *8</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Computed Columns</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *6</td>
</tr><tr>
<td>Case Insensitive Columns</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *14</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes</td>
<td class="compareY">Yes *6</td>
</tr><tr>
<td>Custom Aggregate Functions</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>CLOB/BLOB Compression</td>
<td class="compareY">Yes</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
<td class="compareN">No</td>
<td class="compareY">Yes</td>
</tr><tr>
<td>Footprint (jar/dll size)</td>
<td>~1.5 MB *5</td>
<td>~3 MB</td>
<td>~1.5 MB</td>
<td>~4 MB</td>
<td>~6 MB</td>
</tr>
</table>
<p>
*1 HSQLDB supports text tables.<br />
*2 MySQL supports linked MySQL tables under the name 'federated tables'.<br />
*3 Derby support for roles based security and password checking as an option.<br />
*4 Derby only supports global temporary tables.<br />
*5 The default H2 jar file contains debug information, jar files for other databases do not.<br />
*6 PostgreSQL supports functional indexes.<br />
*7 Derby only supports updatable result sets if the query is not sorted.<br />
*8 Derby doesn't support standard compliant information schema tables.<br />
*9 When using MVCC (multi version concurrency).<br />
*10 Derby and HSQLDB
<a href="https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_Codebook_(ECB)">don't hide data patterns well</a>.<br />
*11 The MULTI_THREADED option is not enabled by default, and with version 1.3.x not supported when using MVCC.<br />
*12 Derby doesn't support the <code>EXPLAIN</code> statement, but it supports runtime statistics and retrieving statement execution plans.<br />
*13 Derby doesn't support the syntax <code>LIMIT .. [OFFSET ..]</code>, however it supports <code>FETCH FIRST .. ROW[S] ONLY</code>.<br />
*14 Using collations.
*15 Derby and H2 support <code>ROW_NUMBER() OVER()</code>.
</p>
<h2 id="products_work_with">H2 in Use</h2> <h2 id="products_work_with">H2 in Use</h2>
<p> <p>
For a list of applications that work with or use H2, see: For a list of applications that work with or use H2, see:
......
...@@ -146,9 +146,6 @@ Welcome to H2, the Java SQL database. The main features of H2 are: ...@@ -146,9 +146,6 @@ Welcome to H2, the Java SQL database. The main features of H2 are:
<td>~700 KB</td> <td>~700 KB</td>
</tr> </tr>
</table> </table>
<p>
See also the <a href="features.html#comparison">detailed comparison</a>.
</p>
</td></tr> </td></tr>
<tr><td colspan="3" style="border: 0px; background-color: #eee;"> <tr><td colspan="3" style="border: 0px; background-color: #eee;">
......
...@@ -59,9 +59,9 @@ public class Build extends BuildBase { ...@@ -59,9 +59,9 @@ public class Build extends BuildBase {
downloadUsingMaven("ext/derbynet-10.10.1.1.jar", downloadUsingMaven("ext/derbynet-10.10.1.1.jar",
"org/apache/derby", "derbynet", "10.10.1.1", "org/apache/derby", "derbynet", "10.10.1.1",
"912b08dca73663d4665e09cd317be1218412d93e"); "912b08dca73663d4665e09cd317be1218412d93e");
downloadUsingMaven("ext/postgresql-42.2.1.jre7", downloadUsingMaven("ext/postgresql-42.2.5.jre7",
"org.postgresql", "postgresql", "42.2.1.jre7", "org.postgresql", "postgresql", "42.2.5.jre7",
"d06eb133d573240718fe4c24577ef086f7daad6c"); "ec74f6f7885b7e791f84c7219a97964e9d0121e4");
downloadUsingMaven("ext/mysql-connector-java-5.1.6.jar", downloadUsingMaven("ext/mysql-connector-java-5.1.6.jar",
"mysql", "mysql-connector-java", "5.1.6", "mysql", "mysql-connector-java", "5.1.6",
"380ef5226de2c85ff3b38cbfefeea881c5fce09d"); "380ef5226de2c85ff3b38cbfefeea881c5fce09d");
...@@ -74,7 +74,7 @@ public class Build extends BuildBase { ...@@ -74,7 +74,7 @@ public class Build extends BuildBase {
File.pathSeparator + "ext/derby-10.10.1.1.jar" + File.pathSeparator + "ext/derby-10.10.1.1.jar" +
File.pathSeparator + "ext/derbyclient-10.10.1.1.jar" + File.pathSeparator + "ext/derbyclient-10.10.1.1.jar" +
File.pathSeparator + "ext/derbynet-10.10.1.1.jar" + File.pathSeparator + "ext/derbynet-10.10.1.1.jar" +
File.pathSeparator + "ext/postgresql-42.2.1.jre7" + File.pathSeparator + "ext/postgresql-42.2.5.jre7" +
File.pathSeparator + "ext/mysql-connector-java-5.1.6.jar"; File.pathSeparator + "ext/mysql-connector-java-5.1.6.jar";
StringList args = args("-Xmx128m", StringList args = args("-Xmx128m",
"-cp", cp, "org.h2.test.bench.TestPerformance"); "-cp", cp, "org.h2.test.bench.TestPerformance");
...@@ -182,7 +182,7 @@ public class Build extends BuildBase { ...@@ -182,7 +182,7 @@ public class Build extends BuildBase {
// JaCoCo does not support multiple versions of the same classes // JaCoCo does not support multiple versions of the same classes
delete(files("coverage/bin/META-INF/versions")); delete(files("coverage/bin/META-INF/versions"));
String cp = "coverage/bin" + String cp = "coverage/bin" +
File.pathSeparator + "ext/postgresql-42.2.1.jre7" + File.pathSeparator + "ext/postgresql-42.2.5.jre7" +
File.pathSeparator + "ext/servlet-api-3.1.0.jar" + File.pathSeparator + "ext/servlet-api-3.1.0.jar" +
File.pathSeparator + "ext/lucene-core-5.5.5.jar" + File.pathSeparator + "ext/lucene-core-5.5.5.jar" +
File.pathSeparator + "ext/lucene-analyzers-common-5.5.5.jar" + File.pathSeparator + "ext/lucene-analyzers-common-5.5.5.jar" +
...@@ -412,9 +412,9 @@ public class Build extends BuildBase { ...@@ -412,9 +412,9 @@ public class Build extends BuildBase {
"com/h2database", "h2", "1.2.127", "com/h2database", "h2", "1.2.127",
"056e784c7cf009483366ab9cd8d21d02fe47031a"); "056e784c7cf009483366ab9cd8d21d02fe47031a");
// for TestPgServer // for TestPgServer
downloadUsingMaven("ext/postgresql-42.2.1.jre7.jar", downloadUsingMaven("ext/postgresql-42.2.5.jre7.jar",
"org.postgresql", "postgresql", "42.2.1.jre7", "org.postgresql", "postgresql", "42.2.5.jre7",
"d06eb133d573240718fe4c24577ef086f7daad6c"); "ec74f6f7885b7e791f84c7219a97964e9d0121e4");
// for TestTraceSystem // for TestTraceSystem
downloadUsingMaven("ext/slf4j-nop-1.6.0.jar", downloadUsingMaven("ext/slf4j-nop-1.6.0.jar",
"org/slf4j", "slf4j-nop", "1.6.0", "org/slf4j", "slf4j-nop", "1.6.0",
...@@ -951,7 +951,7 @@ public class Build extends BuildBase { ...@@ -951,7 +951,7 @@ public class Build extends BuildBase {
private void test(boolean travis) { private void test(boolean travis) {
downloadTest(); downloadTest();
String cp = "temp" + File.pathSeparator + "bin" + String cp = "temp" + File.pathSeparator + "bin" +
File.pathSeparator + "ext/postgresql-42.2.1.jre7.jar" + File.pathSeparator + "ext/postgresql-42.2.5.jre7.jar" +
File.pathSeparator + "ext/servlet-api-3.1.0.jar" + File.pathSeparator + "ext/servlet-api-3.1.0.jar" +
File.pathSeparator + "ext/lucene-core-5.5.5.jar" + File.pathSeparator + "ext/lucene-core-5.5.5.jar" +
File.pathSeparator + "ext/lucene-analyzers-common-5.5.5.jar" + File.pathSeparator + "ext/lucene-analyzers-common-5.5.5.jar" +
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论