Skip to content
Commits on Source (13)
*.bat eol=crlf
*.sh eol=lf
*.java diff=java
......@@ -4,6 +4,7 @@
.settings
benchmark.html
bin
coverage
data
docs
ext
......@@ -13,3 +14,5 @@ test.out.txt
.idea/
*.log
target/
src/main/org/h2/res/help.csv
_tmp*
......@@ -9,31 +9,6 @@ Welcome to H2, the Java SQL database. The main features of H2 are:
## Experimental Building & Testing with Maven
### Setup JDK
Maven requires at minimum the JDK 1.7 whereas H2 is designed to be compiled against the JDK 1.6; the way in which this is
resolved is through [maven toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html).
You simply need to create a `toolchains.xml` file in `~/.m2/` that tells maven where to find the JDK 1.6
Here is a sample file
```
<?xml version="1.0" encoding="UTF8"?>
<toolchains>
<!-- JDK toolchains -->
<toolchain>
<type>jdk</type>
<provides>
<version>1.6</version>
</provides>
<configuration>
<jdkHome>/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/</jdkHome>
</configuration>
</toolchain>
</toolchains>
```
### Building
H2 uses [Maven Wrapper](https://github.com/takari/maven-wrapper) setup, you can instruct users to run wrapper scripts:
......
h2database (1.4.197-1) unstable; urgency=medium
* Team upload.
* New upstream version 1.4.197
- Fix compatibility issue with JTS 1.15. Thanks to Bas Couwenberg for the
report and patch. (Closes: #902787)
* Fix debian/watch file and use releases instead of tags.
* Refresh 01-use-jar-files-from-debian.patch
* Switch to compat level 11.
* Declare compliance with Debian Policy 4.2.0.
-- Markus Koschany <apo@debian.org> Tue, 14 Aug 2018 12:47:09 +0200
h2database (1.4.196-2) unstable; urgency=medium
* Fixed the build failure when maven-debian-helper is installed
......
......@@ -3,7 +3,7 @@ Section: java
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders: Emmanuel Bourg <ebourg@apache.org>
Build-Depends: debhelper (>= 10),
Build-Depends: debhelper (>= 11),
default-jdk,
javahelper,
libequinox-osgi-java,
......@@ -13,7 +13,7 @@ Build-Depends: debhelper (>= 10),
libservlet3.1-java,
libslf4j-java,
maven-repo-helper
Standards-Version: 4.1.1
Standards-Version: 4.2.0
Vcs-Git: https://anonscm.debian.org/git/pkg-java/h2database.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/h2database.git
Homepage: http://www.h2database.com
......
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: H2
Source: http://www.h2database.com
......
Description: Use local jar files
From: Markus Koschany <apo@debian.org>
Date: Tue, 14 Aug 2018 12:42:21 +0200
Subject: 01-use-jar-files-from-debian
Use existing jar files during the build instead of
downloading the dependencies.
Forwarded: not-needed
Author: Sebastian Reichel <sre@debian.org>
Last-Update: 2011-07-13
---
src/tools/org/h2/build/Build.java | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/tools/org/h2/build/Build.java b/src/tools/org/h2/build/Build.java
index b1512d3..62b080e 100644
--- a/src/tools/org/h2/build/Build.java
+++ b/src/tools/org/h2/build/Build.java
@@ -202,14 +202,13 @@
@@ -285,14 +285,13 @@ private void compile(boolean debugInfo, boolean clientOnly,
switchSource(debugInfo);
clean();
mkdir("temp");
......@@ -17,13 +25,13 @@ Last-Update: 2011-07-13
- File.pathSeparator + "ext/slf4j-api-1.6.0.jar" +
- File.pathSeparator + "ext/org.osgi.core-4.2.0.jar" +
- File.pathSeparator + "ext/org.osgi.enterprise-4.2.0.jar" +
- File.pathSeparator + "ext/jts-core-1.14.0.jar" +
- File.pathSeparator + "ext/jts-core-1.15.0.jar" +
+ File.pathSeparator + "/usr/share/java/servlet-api-3.1.jar" +
+ File.pathSeparator + "/usr/share/java/lucene3-core.jar" +
+ File.pathSeparator + "/usr/share/java/slf4j-api.jar" +
+ File.pathSeparator + "/usr/share/java/org.eclipse.osgi.jar" +
+ File.pathSeparator + "/usr/share/java/osgi.compendium.jar" +
+ File.pathSeparator + "/usr/share/java/jts.jar" +
+ File.pathSeparator + "/usr/share/java/jts-core.jar" +
File.pathSeparator + javaToolsJar;
FileList files;
if (clientOnly) {
01-use-jar-files-from-debian.patch
03-osgi-compatibility.patch
04-reproducible-javadoc.patch
01-use-jar-files-from-debian.patch
version=3
https://github.com/h2database/h2database/tags .*/version-([\d\.]+).tar.gz debian debian/orig-tar.sh
https://github.com/h2database/h2database/releases .*/version-([\d\.]+).tar.gz debian debian/orig-tar.sh
......@@ -228,6 +228,7 @@ WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
-Djava.net.useSystemProxies=true \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CMD_LINE_ARGS
......
......@@ -121,7 +121,7 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR=""%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar""
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -Djava.net.useSystemProxies=true -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end
......
......@@ -4,7 +4,7 @@
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.195-SNAPSHOT</version>
<version>1.4.196-SNAPSHOT</version>
<packaging>jar</packaging>
<name>H2 Database Engine</name>
<url>http://www.h2database.com</url>
......@@ -12,8 +12,13 @@
<licenses>
<license>
<name>MPL 2.0 or EPL 1.0</name>
<url>http://h2database.com/html/license.html</url>
<name>MPL 2.0</name>
<url>https://www.mozilla.org/en-US/MPL/2.0/</url>
<distribution>repo</distribution>
</license>
<license>
<name>EPL 1.0</name>
<url>https://opensource.org/licenses/eclipse-1.0.php</url>
<distribution>repo</distribution>
</license>
</licenses>
......@@ -69,9 +74,9 @@
<version>${osgi.version}</version>
</dependency>
<dependency>
<groupId>com.vividsolutions</groupId>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.14.0</version>
<version>1.15.0</version>
</dependency>
<!-- END COMPILE DEPENDENCIES !-->
......@@ -178,6 +183,7 @@
<include>**/*.ico</include>
<include>**/*.gif</include>
<include>**/*.css</include>
<include>**/*.js</include>
<include>org/h2/res/help.csv</include>
<include>org/h2/res/javadoc.properties</include>
<include>org/h2/server/pg/pg_catalog.sql</include>
......@@ -188,8 +194,8 @@
<testResource>
<directory>src/test</directory>
<includes>
<include>org/h2/test/testSimple.in.txt</include>
<include>org/h2/test/testScript.sql</include>
<include>org/h2/test/scripts/testSimple.in.txt</include>
<include>org/h2/test/scripts/testScript.sql</include>
<include>org/h2/samples/newsfeed.sql</include>
<include>org/h2/samples/optimizations.sql</include>
</includes>
......@@ -200,11 +206,13 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
<version>3.0.0</version>
<executions>
<execution>
<phase>generate-test-sources</phase>
<goals><goal>add-test-source</goal></goals>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/tools</source>
......@@ -213,53 +221,53 @@
</execution>
</executions>
</plugin>
<!-- Maven requires at least JRE 1.7 but we want to build with JDK 1.6 -->
<!-- Make sure neither we nor one of our dependencies uses anything outside JDK 1.7 -->
<!-- commented out for now because it fails to build under JDK1.8+ because we are manually adding the tools jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>1.6</version>
</jdk>
</toolchains>
</configuration>
</plugin>
<!-- Make sure we are not using anything outside JDK 1.6 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.15</version>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M1</version>
<executions>
<execution>
<id>check-java-api</id>
<phase>test</phase>
<id>check-java-version</id>
<goals>
<goal>check</goal>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<enforceBytecodeVersion>
<maxJdkVersion>1.7</maxJdkVersion>
</enforceBytecodeVersion>
<checkSignatureRule implementation="org.codehaus.mojo.animal_sniffer.enforcer.CheckSignatureRule">
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java16</artifactId>
<version>1.1</version>
<artifactId>java17</artifactId>
<version>1.0</version>
</signature>
</checkSignatureRule>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>1.0-beta-6</version>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-enforcer-rule</artifactId>
<version>1.16</version>
</dependency>
</dependencies>
</plugin>
<!-- Disable surefire since we don't use Junit -->
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<version>2.20.1</version>
<configuration>
<includes>
<include>TestAllJunit.java</include>
......
This diff is collapsed.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
and under the Eclipse Public License, Version 1.0
Initial Developer: H2 Group
-->
......@@ -324,6 +324,7 @@ It is not possible to enable or disable this setting while the database is alrea
<p>
If MVCC is enabled, changing the lock mode (<code>LOCK_MODE</code>) has no effect.
</p>
<p>
The MVCC mode is enabled by default in version 1.4.x,
with the default MVStore storage engine.
MVCC is disabled by default when using the PageStore storage engine
......@@ -335,6 +336,7 @@ with the PageStore storage engine, it can not be used at the same time as
<code>MULTI_THREADED=TRUE</code>;
the complete undo log (the list of uncommitted changes) must fit in memory when using multi-version concurrency.
The setting <code>MAX_MEMORY_UNDO</code> has no effect.
</p>
<h2 id="clustering">Clustering / High Availability</h2>
<p>
......@@ -500,10 +502,10 @@ There is a list of keywords that can't be used as identifiers (table names, colu
unless they are quoted (surrounded with double quotes). The list is currently:
</p><p>
<code>
CROSS, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DISTINCT, EXCEPT, EXISTS, FALSE,
FETCH, FOR, FROM, FULL, GROUP, HAVING, INNER, INTERSECT, IS, JOIN, LIKE, LIMIT, MINUS, NATURAL,
NOT, NULL, OFFSET, ON, ORDER, PRIMARY, ROWNUM, SELECT, SYSDATE, SYSTIME, SYSTIMESTAMP, TODAY,
TRUE, UNION, UNIQUE, WHERE
ALL, CHECK, CONSTRAINT, CROSS, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DISTINCT, EXCEPT,
EXISTS, FALSE, FETCH, FOR, FOREIGN, FROM, FULL, GROUP, HAVING, INNER, INTERSECT, IS, JOIN,
LIKE, LIMIT, MINUS, NATURAL, NOT, NULL, OFFSET, ON, ORDER, PRIMARY, ROWNUM, SELECT, SYSDATE,
SYSTIME, SYSTIMESTAMP, TODAY, TRUE, UNION, UNIQUE, WHERE, WITH
</code>
</p><p>
Certain words of this list are keywords because they are functions that can be used without '()' for compatibility,
......@@ -527,7 +529,7 @@ H2 internally uses Unicode, and supports all character encoding systems and char
<p>
Using a native wrapper / adapter, Java applications can be run as a Windows Service.
There are various tools available to do that. The Java Service Wrapper from
<a href="http://wrapper.tanukisoftware.org">Tanuki Software, Inc.</a>
<a href="https://wrapper.tanukisoftware.org">Tanuki Software, Inc.</a>
is included in the installation. Batch files are provided to install, start, stop and uninstall the
H2 Database Engine Service. This service contains the TCP Server and the H2 Console web application.
The batch files are located in the directory <code>h2/service</code>.
......@@ -536,7 +538,7 @@ The batch files are located in the directory <code>h2/service</code>.
The service wrapper bundled with H2 is a 32-bit version.
To use a 64-bit version of Windows (x64), you need to use a 64-bit version of the wrapper,
for example the one from
<a href="http://www.krenger.ch/blog/java-service-wrapper-3-5-14-for-windows-x64/">
<a href="https://www.krenger.ch/blog/java-service-wrapper-3-5-14-for-windows-x64/">
Simon Krenger</a>.
</p>
<p>
......@@ -602,7 +604,7 @@ To use the PostgreSQL ODBC driver on 64 bit versions of Windows,
first run <code>c:/windows/syswow64/odbcad32.exe</code>.
At this point you set up your DSN just like you would on any other system.
See also:
<a href="http://archives.postgresql.org/pgsql-odbc/2005-09/msg00125.php">Re: ODBC Driver on Windows 64 bit</a>
<a href="https://www.postgresql.org/message-id/dg76q0$khn$1@sea.gmane.org">Re: ODBC Driver on Windows 64 bit</a>
</p>
<h3>ODBC Installation</h3>
......@@ -610,7 +612,7 @@ See also:
First, the ODBC driver must be installed.
Any recent PostgreSQL ODBC driver should work, however version 8.2 (<code>psqlodbc-08_02*</code>) or newer is recommended.
The Windows version of the PostgreSQL ODBC driver is available at
<a href="http://www.postgresql.org/ftp/odbc/versions/msi">http://www.postgresql.org/ftp/odbc/versions/msi</a>.
<a href="https://www.postgresql.org/ftp/odbc/versions/msi/">https://www.postgresql.org/ftp/odbc/versions/msi/</a>.
</p>
<h3>Starting the Server</h3>
......@@ -725,11 +727,11 @@ You can access a H2 database on .NET using the JDBC API, or using the ADO.NET in
<h3>Using the ADO.NET API on .NET</h3>
<p>
An implementation of the ADO.NET interface is available in the open source project
<a href="http://code.google.com/p/h2sharp">H2Sharp</a>.
<a href="https://code.google.com/archive/p/h2sharp/">H2Sharp</a>.
</p>
<h3>Using the JDBC API on .NET</h3>
<ul><li>Install the .NET Framework from <a href="http://www.microsoft.com">Microsoft</a>.
<ul><li>Install the .NET Framework from <a href="https://www.microsoft.com">Microsoft</a>.
Mono has not yet been tested.
</li><li>Install <a href="http://www.ikvm.net">IKVM.NET</a>.
</li><li>Copy the <code>h2*.jar</code> file to <code>ikvm/bin</code>
......@@ -853,9 +855,9 @@ Unfortunately, even when calling <code>FileDescriptor.sync()</code> or
<code>FileChannel.force()</code>,
data is not always persisted to the hard drive, because most hard drives do not obey
<code>fsync()</code>: see
<a href="http://hardware.slashdot.org/article.pl?sid=05/05/13/0529252">Your Hard Drive Lies to You</a>.
<a href="https://hardware.slashdot.org/story/05/05/13/0529252/your-hard-drive-lies-to-you">Your Hard Drive Lies to You</a>.
In Mac OS X, <code>fsync</code> does not flush hard drive buffers. See
<a href="http://lists.apple.com/archives/darwin-dev/2005/Feb/msg00072.html">Bad fsync?</a>.
<a href="https://lists.apple.com/archives/darwin-dev/2005/Feb/msg00072.html">Bad fsync?</a>.
So the situation is confusing, and tests prove there is a problem.
</p>
<p>
......@@ -1065,7 +1067,6 @@ import java.sql.*;
import java.util.*;
public class Test {
public static void main(String[] args) throws Exception {
Class.forName("org.h2.Driver");
String url = "jdbc:h2:~/test";
Properties prop = new Properties();
prop.setProperty("user", "sa");
......@@ -1083,7 +1084,6 @@ public class Test {
}
</pre>
<p>
This example requires Java 1.6.
When using Swing, use <code>javax.swing.JPasswordField</code>.
</p>
......@@ -1380,7 +1380,7 @@ Remote TLS connections are supported using the Java Secure Socket Extension
<p>
To use your own keystore, set the system properties <code>javax.net.ssl.keyStore</code> and
<code>javax.net.ssl.keyStorePassword</code> before starting the H2 server and client.
See also <a href="http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores">
See also <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores">
Customizing the Default Key and Trust Stores, Store Types, and Store Passwords</a>
for more information.
</p>
......@@ -1433,16 +1433,16 @@ that means the probability is about 0.000'000'000'06.
<h2 id="spatial_features">Spatial Features</h2>
<p>
H2 supports the geometry data type and spatial indexes if
the <a href="http://tsusiatsoftware.net/jts/main.html">JTS Topology Suite</a>
the <a href="https://projects.eclipse.org/projects/locationtech.jts">JTS Topology Suite</a>
is in the classpath.
To run the H2 Console tool with the JTS tool, you need to download the
<a href="http://search.maven.org/remotecontent?filepath=com/vividsolutions/jts-core/1.14.0/jts-core-1.14.0.jar">JTS-CORE 1.14.0 jar file</a>
<a href="https://search.maven.org/remotecontent?filepath=org/locationtech/jts/jts-core/1.15.0/jts-core-1.15.0.jar">JTS-CORE 1.15.0 jar file</a>
and place it in the h2 bin directory. Then edit the <code>h2.sh</code> file as follows:
</p>
<pre>
#!/bin/sh
dir=$(dirname "$0")
java -cp "$dir/h2.jar:jts-core-1.14.0.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"
java -cp "$dir/h2.jar:jts-core-1.15.0.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"
</pre>
<p>
Here is an example SQL script to create a table with a spatial column and index:
......@@ -1563,7 +1563,7 @@ The current value of the settings can be read in the table
</p>
<p>
For a complete list of settings, see
<a href="../javadoc/org/h2/engine/SysProperties.html">SysProperties</a>.
<a href="http://www.h2database.com/javadoc/org/h2/engine/SysProperties.html">SysProperties</a>.
</p>
<h2 id="server_bind_address">Setting the Server Bind Address</h2>
......@@ -1586,7 +1586,7 @@ The following file systems are included:
</li><li><code>split:</code> file system that splits files in 1 GB files (stackable with other file systems).
</li><li><code>nio:</code> file system that uses <code>FileChannel</code> instead of <code>RandomAccessFile</code> (faster in some operating systems).
</li><li><code>nioMapped:</code> file system that uses memory mapped files (faster in some operating systems).
Please note that there currently is a file size limitation of 2 GB when using this file system when using a 32-bit JVM.
Please note that there currently is a file size limitation of 2 GB when using this file system.
To work around this limitation, combine it with the split file system: <code>split:nioMapped:test</code>.
</li><li><code>memFS:</code> in-memory file system (slower than mem; experimental; mainly used for testing the database engine itself).
</li><li><code>memLZF:</code> compressing in-memory file system (slower than memFS but uses less memory; experimental; mainly used for testing the database engine itself).
......@@ -1675,7 +1675,8 @@ Java objects serialization is enabled by default for columns of type <code>OTHER
To disable this feature set the system property <code>h2.serializeJavaObject=false</code> (default: true).
</p>
<p>
Serialization and deserialization of java objects is customizable both at system level and at database level providing a <a href="../javadoc/org/h2/api/JavaObjectSerializer.html">JavaObjectSerializer</a> implementation:
Serialization and deserialization of java objects is customizable both at system level and at database level providing a
<a href="http://www.h2database.com/javadoc/org/h2/api/JavaObjectSerializer.html">JavaObjectSerializer</a> implementation:
<ul>
<li>
At system level set the system property <code>h2.javaObjectSerializer</code> with the
......@@ -1699,7 +1700,8 @@ It is possible to extend the type system of the database by providing your own i
of minimal required API basically consisting of type identification and conversion routines.
</p>
<p>
In order to enable this feature, set the system property <code>h2.customDataTypesHandler</code> (default: null) to the fully qualified name of the class providing <a href="../javadoc/org/h2/api/CustomDataTypesHandler.html">CustomDataTypesHandler</a> interface implementation. <br />
In order to enable this feature, set the system property <code>h2.customDataTypesHandler</code> (default: null) to the fully qualified name of the class providing
<a href="http://www.h2database.com/javadoc/org/h2/api/CustomDataTypesHandler.html">CustomDataTypesHandler</a> interface implementation. <br />
The instance of that class will be created by H2 and used to:
<ul>
<li>resolve the names and identifiers of extrinsic data types.
......@@ -1764,60 +1766,53 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2
<tr>
<td>AES-128</td>
<td>A block encryption algorithm. See also: <a
href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia:
AES</a></td>
href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia:
Advanced Encryption Standard</a></td>
</tr>
<tr>
<td>Birthday Paradox</td>
<td>Describes the higher than expected probability that two
persons in a room have the same birthday. Also valid for randomly
generated UUIDs. See also: <a
href="http://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia:
Birthday Paradox</a></td>
href="https://en.wikipedia.org/wiki/Birthday_problem">Wikipedia:
Birthday problem</a></td>
</tr>
<tr>
<td>Digest</td>
<td>Protocol to protect a password (but not to protect data).
See also: <a href="http://www.faqs.org/rfcs/rfc2617.html">RFC
See also: <a href="https://www.ietf.org/rfc/rfc2617.txt">RFC
2617: HTTP Digest Access Authentication</a></td>
</tr>
<tr>
<td>GCJ</td>
<td>Compiler for Java. <a href="http://gcc.gnu.org/java">GNU
Compiler for the Java</a> and <a
href="http://www.dobysoft.com/products/nativej">NativeJ
(commercial)</a></td>
</tr>
<tr>
<td>HTTPS</td>
<td>A protocol to provide security to HTTP connections. See
also: <a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818:
also: <a href="https://www.ietf.org/rfc/rfc2818.txt">RFC 2818:
HTTP Over TLS</a></td>
</tr>
<tr>
<td>Modes of Operation</td>
<td><a
href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation">Wikipedia:
Block cipher modes of operation</a></td>
href="https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation">Wikipedia:
Block cipher mode of operation</a></td>
</tr>
<tr>
<td>Salt</td>
<td>Random number to increase the security of passwords. See
also: <a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia:
also: <a href="https://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia:
Key derivation function</a></td>
</tr>
<tr>
<td>SHA-256</td>
<td>A cryptographic one-way hash function. See also: <a
href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA
hash functions</a></td>
href="https://en.wikipedia.org/wiki/Secure_Hash_Algorithms">Wikipedia:
Secure Hash Algorithms</a></td>
</tr>
<tr>
<td>SQL Injection</td>
<td>A security vulnerability where an application embeds SQL
statements or expressions in user input. See also: <a
href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia:
SQL Injection</a></td>
href="https://en.wikipedia.org/wiki/SQL_injection">Wikipedia:
SQL injection</a></td>
</tr>
<tr>
<td>Watermark Attack</td>
......@@ -1829,7 +1824,7 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2
<tr>
<td>SSL/TLS</td>
<td>Secure Sockets Layer / Transport Layer Security. See also:
<a href="http://java.sun.com/products/jsse/">Java Secure Socket
<a href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html">Java Secure Socket
Extension (JSSE)</a></td>
</tr>
</table>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
and under the Eclipse Public License, Version 1.0
Initial Developer: H2 Group
-->
......@@ -86,7 +86,7 @@ The primary classes of interest are:
The parser lives in <code>org.h2.command.Parser</code>. It uses a straightforward recursive-descent design.
</p>
<p>
See Wikipedia <a href="http://en.wikipedia.org/wiki/Recursive_descent_parser">Recursive-descent parser</a> page.
See Wikipedia <a href="https://en.wikipedia.org/wiki/Recursive_descent_parser">Recursive descent parser</a> page.
</p>
......@@ -120,8 +120,8 @@ The primary packages of interest are:
<h2 id="transaction">Undo log, redo log, and transactions layer</h2>
<p>
We have a transaction log, which is shared among all sessions. See also
http://en.wikipedia.org/wiki/Transaction_log
http://h2database.com/html/grammar.html#set_log
<a href="https://en.wikipedia.org/wiki/Transaction_log">https://en.wikipedia.org/wiki/Transaction_log</a>
<a href="http://h2database.com/html/grammar.html#set_log">http://h2database.com/html/grammar.html#set_log</a>
</p>
<p>
We also have an undo log, which is per session, to undo an operation (an update that fails for example)
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
and under the Eclipse Public License, Version 1.0
Initial Developer: H2 Group
-->
......@@ -18,7 +18,7 @@ Build
<table class="content"><tr class="content"><td class="content"><div class="contentDiv">
<!-- } -->
<h1>Build</h1>
<h1 id="build_index">Build</h1>
<a href="#portability">
Portability</a><br />
<a href="#environment">
......@@ -45,26 +45,25 @@ Build
<h2 id="portability">Portability</h2>
<p>
This database is written in Java and therefore works on many platforms.
It can also be compiled to a native executable using GCJ.
</p>
<h2 id="environment">Environment</h2>
<p>
To run this database, a Java Runtime Environment (JRE) version 1.7 or higher is required.
To run this database, a Java Runtime Environment (JRE) version 7 or higher is required.
</p>
<p>
To create the database executables, the following software stack was used.
To use this database, it is not required to install this software however.
</p>
<ul><li>Mac OS X and Windows
</li><li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Oracle JDK Version 1.7</a>
</li><li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Oracle JDK Version 7</a>
(version 7 is not available for free download any more)
</li><li><a href="http://www.eclipse.org">Eclipse</a>
</li><li>Eclipse Plugins:
<a href="http://subclipse.tigris.org">Subclipse</a>,
<a href="http://eclipse-cs.sourceforge.net">Eclipse Checkstyle Plug-in</a>,
<a href="https://checkstyle.github.io/eclipse-cs/">Eclipse Checkstyle Plug-in</a>,
<a href="http://www.eclemma.org">EclEmma Java Code Coverage</a>
</li><li><a href="http://emma.sourceforge.net">Emma Java Code Coverage</a>
</li><li><a href="http://www.mozilla.com/firefox">Mozilla Firefox</a>
</li><li><a href="https://www.mozilla.com/firefox">Mozilla Firefox</a>
</li><li><a href="http://www.openoffice.org">OpenOffice</a>
</li><li><a href="http://nsis.sourceforge.net">NSIS</a> (Nullsoft Scriptable Install System)
</li><li><a href="http://maven.apache.org">Maven</a>
......@@ -72,7 +71,7 @@ To use this database, it is not required to install this software however.
<h2 id="building">Building the Software</h2>
<p>
You need to install a JDK, for example the Oracle JDK version 1.7 or 1.8.
You need to install a JDK, for example the Oracle JDK version 7 or 8.
Ensure that Java binary directory is included in the <code>PATH</code> environment variable, and that
the environment variable <code>JAVA_HOME</code> points to your Java installation.
On the command line, go to the directory <code>h2</code> and execute the following command:
......@@ -90,12 +89,15 @@ You will get a list of targets. If you want to build the <code>jar</code> file,
build jar
</pre>
<p>
To run the build tool in shell mode, use the command line option <code>-</code> as in <code>./build.sh -</code>.
To run the build tool in shell mode, use the command line option <code>-</code>:
</p>
<pre>
./build.sh -
</pre>
<h3>Switching the Source Code</h3>
<p>
The source code uses Java 1.7 features.
The source code uses Java 7 features.
To switch the source code to the installed version of Java, run:
</p>
<pre>
......@@ -150,7 +152,7 @@ however after a new release it may take a few hours before they are available th
<h3>Maven Plugin to Start and Stop the TCP Server</h3>
<p>
A Maven plugin to start and stop the H2 TCP server is available from
<a href="http://github.com/ljnelson/h2-maven-plugin">Laird Nelson at GitHub</a>.
<a href="https://github.com/ljnelson/h2-maven-plugin">Laird Nelson at GitHub</a>.
To start the H2 server, use:
</p>
<pre>
......@@ -216,7 +218,7 @@ The web site is currently translated using Google.
<p>
If you'd like to contribute bug fixes or new features, please consider the following guidelines to simplify merging them:
</p>
<ul><li>Only use Java 6 features (do not use Java 7) (see <a href="#environment">Environment</a>).
<ul><li>Only use Java 7 features (do not use Java 8/9/etc) (see <a href="#environment">Environment</a>).
</li><li>Follow the coding style used in the project, and use Checkstyle (see above) to verify.
For example, do not use tabs (use spaces instead).
The checkstyle configuration is in <code>src/installer/checkstyle.xml</code>.
......@@ -248,7 +250,7 @@ If you'd like to contribute bug fixes or new features, please consider the follo
<p>
For legal reasons, patches need to be public in the form of an
<a href="https://github.com/h2database/h2database/issues">issue report or attachment</a> or in the form of an email
to the <a href="http://groups.google.com/group/h2-database">group</a>.
to the <a href="https://groups.google.com/group/h2-database">group</a>.
Significant contributions need to include the following statement:
</p>
<p>
......@@ -265,17 +267,16 @@ or if you have a feature request:
<ul><li>For bug reports, please provide a
<a href="http://sscce.org/">short, self contained, correct (compilable), example</a> of the problem.
</li><li>Feature requests are always welcome, even if the feature is already on the
<a href="roadmap.html">roadmap</a>. Your mail will help prioritize feature requests.
<a href="http://www.h2database.com/html/roadmap.html">roadmap</a>. Your mail will help prioritize feature requests.
If you urgently need a feature, consider <a href="#providing_patches">providing a patch</a>.
</li><li>Before posting problems, check the
<a href="faq.html">FAQ</a> and do a <a href="http://google.com">Google search</a>.
</li><li>When got an unexpected exception, please try the
<a href="sourceError.html">Error Analyzer tool</a>. If this doesn't help,
<a href="http://www.h2database.com/html/sourceError.html">Error Analyzer tool</a>. If this doesn't help,
please report the problem, including the complete error message and stack trace,
and the root cause stack trace(s).
</li><li>When sending source code, please use a public web clipboard such as
<a href="http://pastebin.com">Pastebin</a>,
<a href="http://cl1p.net">Cl1p</a>, or
<a href="https://pastebin.com/">Pastebin</a> or
<a href="http://www.mysticpaste.com/new">Mystic Paste</a>
to avoid formatting problems.
Please keep test cases as simple and short as possible,
......@@ -287,8 +288,8 @@ or if you have a feature request:
Please use the JDBC API and no external tools or libraries.
The test should include all required initialization code, and
should be started with the main method.
</li><li>For large attachments, use a public temporary storage such as
<a href="http://rapidshare.com">Rapidshare</a>.
</li><li>For large attachments, use a public storage such as
<a href="https://www.google.com/drive/">Google Drive</a>.
</li><li>Google Group versus issue tracking:
Use the
<a href="http://groups.google.com/group/h2-database">Google Group</a>
......
This diff is collapsed.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
and under the Eclipse Public License, Version 1.0
Initial Developer: H2 Group
-->
......@@ -169,7 +169,6 @@ Reference:
<h2><a href="tutorial.html#connecting_using_jdbc">Using the JDBC API</a></h2>
<pre>
Class.forName("org.h2.Driver");
Connection conn = DriverManager.
getConnection("jdbc:h2:~/test");
conn.close();
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, Version 1.0,
and under the Eclipse Public License, Version 1.0
Initial Developer: H2 Group
-->
......@@ -18,7 +18,7 @@ Data Types
<!-- } -->
<h1>Data Types</h1>
<h2>Index</h2>
<h2 id="datatypes_index">Index</h2>
<!-- syntax-start
<p class="notranslate">
<c:forEach var="item" items="dataTypes">
......@@ -52,7 +52,7 @@ syntax-end -->
<!-- railroad-end -->
<c:forEach var="item" items="dataTypes">
<h3 id="${item.link}" class="notranslate" onclick="switchBnf(this)">${item.topic}</h3>
<h2 id="${item.link}" class="notranslate" onclick="switchBnf(this)">${item.topic}</h2>
<!-- railroad-start -->
<pre name="bnf" style="display: none">
${item.syntax}
......