#A transaction is started, for example by inserting a row
#A transaction is started, for example by inserting a row
@advanced_1080_li
@advanced_1080_li
#The transaction is marked 'prepared' by executing the SQL statement<code>PREPARE COMMIT transactionName</code>
#The transaction is marked 'prepared' by executing the SQL statement<code>PREPARE COMMIT transactionName</code>
@advanced_1081_li
@advanced_1081_li
#The transaction can now be committed or rolled back
#The transaction can now be committed or rolled back
...
@@ -248,10 +248,10 @@
...
@@ -248,10 +248,10 @@
#If a problem occurs before the transaction was successfully committed or rolled back (for example because a network problem occurred), the transaction is in the state 'in-doubt'
#If a problem occurs before the transaction was successfully committed or rolled back (for example because a network problem occurred), the transaction is in the state 'in-doubt'
@advanced_1083_li
@advanced_1083_li
#When re-connecting to the database, the in-doubt transactions can be listed with<code>SELECT * FROM INFORMATION_SCHEMA.IN_DOUBT</code>
#When re-connecting to the database, the in-doubt transactions can be listed with<code>SELECT * FROM INFORMATION_SCHEMA.IN_DOUBT</code>
@advanced_1084_li
@advanced_1084_li
#Each transaction in this list must now be committed or rolled back by executing<code>COMMIT TRANSACTION transactionName</code>or<code>ROLLBACK TRANSACTION transactionName</code>
#Each transaction in this list must now be committed or rolled back by executing <code>COMMIT TRANSACTION transactionName</code> or <code>ROLLBACK TRANSACTION transactionName</code>
@advanced_1085_li
@advanced_1085_li
#The database needs to be closed and re-opened to apply the changes
#The database needs to be closed and re-opened to apply the changes
...
@@ -284,7 +284,7 @@
...
@@ -284,7 +284,7 @@
#Run as Windows Service
#Run as Windows Service
@advanced_1095_p
@advanced_1095_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 Tanuki Software, Inc. (<a href="http://wrapper.tanukisoftware.org">http://wrapper.tanukisoftware.org</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 H2/service.
#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 Tanuki Software, Inc. ( <a href="http://wrapper.tanukisoftware.org">http://wrapper.tanukisoftware.org</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 H2/service.
@advanced_1096_h3
@advanced_1096_h3
#Install the Service
#Install the Service
...
@@ -326,7 +326,7 @@
...
@@ -326,7 +326,7 @@
#ODBC Installation
#ODBC Installation
@advanced_1109_p
@advanced_1109_p
#First, the ODBC driver must be installed. Any recent PostgreSQL ODBC driver should work, however version 8.2.4 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>.
#First, the ODBC driver must be installed. Any recent PostgreSQL ODBC driver should work, however version 8.2.4 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> .
@advanced_1110_h3
@advanced_1110_h3
#Starting the Server
#Starting the Server
...
@@ -341,13 +341,13 @@
...
@@ -341,13 +341,13 @@
#The PG server can be started and stopped from within a Java application as follows:
#The PG server can be started and stopped from within a Java application as follows:
@advanced_1114_p
@advanced_1114_p
#By default, only connections from localhost are allowed. To allow remote connections, use<code>-pgAllowOthers true</code>when starting the server.
#By default, only connections from localhost are allowed. To allow remote connections, use <code>-pgAllowOthers true</code> when starting the server.
@advanced_1115_h3
@advanced_1115_h3
#ODBC Configuration
#ODBC Configuration
@advanced_1116_p
@advanced_1116_p
#After installing the driver, a new Data Source must be added. In Windows, run<code>odbcad32.exe</code>to open the Data Source Administrator. Then click on 'Add...' and select the PostgreSQL Unicode driver. Then click 'Finish'. You will be able to change the connection properties:
#After installing the driver, a new Data Source must be added. In Windows, run <code>odbcad32.exe</code> to open the Data Source Administrator. Then click on 'Add...' and select the PostgreSQL Unicode driver. Then click 'Finish'. You will be able to change the connection properties:
@advanced_1117_th
@advanced_1117_th
#Property
#Property
...
@@ -686,7 +686,7 @@
...
@@ -686,7 +686,7 @@
#SSL/TLS Connections
#SSL/TLS Connections
@advanced_1229_p
@advanced_1229_p
#Remote SSL/TLS connections are supported using the Java Secure Socket Extension (SSLServerSocket / SSLSocket). By default, anonymous SSL is enabled. The default cipher suite is<code>SSL_DH_anon_WITH_RC4_128_MD5</code>.
#Remote SSL/TLS connections are supported using the Java Secure Socket Extension (SSLServerSocket / SSLSocket). By default, anonymous SSL is enabled. The default cipher suite is <code>SSL_DH_anon_WITH_RC4_128_MD5</code> .
@advanced_1230_h3
@advanced_1230_h3
#HTTPS Connections
#HTTPS Connections
...
@@ -959,31 +959,31 @@
...
@@ -959,31 +959,31 @@
#AES-128
#AES-128
@advanced_1320_td
@advanced_1320_td
#A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a>
#A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a>
@advanced_1321_td
@advanced_1321_td
#Birthday Paradox
#Birthday Paradox
@advanced_1322_td
@advanced_1322_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>
#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>
@advanced_1323_td
@advanced_1323_td
#Digest
#Digest
@advanced_1324_td
@advanced_1324_td
#Protocol to protect a password (but not to protect data). See also:<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617: HTTP Digest Access Authentication</a>
#Protocol to protect a password (but not to protect data). See also:<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617: HTTP Digest Access Authentication</a>
@advanced_1325_td
@advanced_1325_td
#GCJ
#GCJ
@advanced_1326_td
@advanced_1326_td
#GNU Compiler for Java.<a href="http://gcc.gnu.org/java/">http://gcc.gnu.org/java/</a>and<a href="http://nativej.mtsystems.ch">http://nativej.mtsystems.ch/ (not free any more)</a>
#GNU Compiler for Java. <a href="http://gcc.gnu.org/java/">http://gcc.gnu.org/java/</a> and <a href="http://nativej.mtsystems.ch">http://nativej.mtsystems.ch/ (not free any more)</a>
@advanced_1327_td
@advanced_1327_td
#HTTPS
#HTTPS
@advanced_1328_td
@advanced_1328_td
#A protocol to provide security to HTTP connections. See also:<a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818: HTTP Over TLS</a>
#A protocol to provide security to HTTP connections. See also:<a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818: HTTP Over TLS</a>
@advanced_1329_td
@advanced_1329_td
#Modes of Operation
#Modes of Operation
...
@@ -995,19 +995,19 @@
...
@@ -995,19 +995,19 @@
#Salt
#Salt
@advanced_1332_td
@advanced_1332_td
#Random number to increase the security of passwords. See also:<a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia: Key derivation function</a>
#Random number to increase the security of passwords. See also:<a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia: Key derivation function</a>
#A security vulnerability where an application generates SQL statements with embedded user input. See also:<a href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a>
#A security vulnerability where an application generates SQL statements with embedded user input. See also:<a href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a>
@advanced_1337_td
@advanced_1337_td
#Watermark Attack
#Watermark Attack
...
@@ -1019,13 +1019,13 @@
...
@@ -1019,13 +1019,13 @@
#SSL/TLS
#SSL/TLS
@advanced_1340_td
@advanced_1340_td
#Secure Sockets Layer / Transport Layer Security. See also:<a href="http://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
#Secure Sockets Layer / Transport Layer Security. See also:<a href="http://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
@advanced_1341_td
@advanced_1341_td
#XTEA
#XTEA
@advanced_1342_td
@advanced_1342_td
#A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a>
#A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a>
@build_1000_h1
@build_1000_h1
Kompilieren
Kompilieren
...
@@ -1088,7 +1088,7 @@ Kompilieren der Software
...
@@ -1088,7 +1088,7 @@ Kompilieren der Software
#The other targets may be used as well.
#The other targets may be used as well.
@build_1020_h2
@build_1020_h2
#Using Maven 2
Mit Maven 2
@build_1021_h3
@build_1021_h3
#Using a Central Repository
#Using a Central Repository
...
@@ -1139,7 +1139,7 @@ Kompilieren der Software
...
@@ -1139,7 +1139,7 @@ Kompilieren der Software
#Google Code
#Google Code
@download_1011_p
@download_1011_p
#For details about changes, see the<a href="history.html">Change Log</a>.
#For details about changes, see the <a href="history.html">Change Log</a> .
@faq_1000_h1
@faq_1000_h1
#Frequently Asked Questions
#Frequently Asked Questions
...
@@ -1214,7 +1214,7 @@ Kompilieren der Software
...
@@ -1214,7 +1214,7 @@ Kompilieren der Software
#How to Connect to a Database?
#How to Connect to a Database?
@faq_1024_p
@faq_1024_p
#The database driver is<code>org.h2.Driver</code>, and the database URL starts with<code>jdbc:h2:</code>. To connect to a database using JDBC, use the following code:
#The database driver is <code>org.h2.Driver</code> , and the database URL starts with <code>jdbc:h2:</code> . To connect to a database using JDBC, use the following code:
@faq_1025_h3
@faq_1025_h3
#Where are the Database Files Stored?
#Where are the Database Files Stored?
...
@@ -2072,7 +2072,7 @@ Kompilieren der Software
...
@@ -2072,7 +2072,7 @@ Kompilieren der Software
#Connecting to an Embedded (Local) Database
#Connecting to an Embedded (Local) Database
@features_1259_p
@features_1259_p
#The database URL for connecting to a local database is<code>jdbc:h2:[file:][<path>]<databaseName></code>. The prefix<code>file:</code>is optional. If no or only a relative path is used, then the current working directory is used as a starting point. The case sensitivity of the path and database name depend on the operating system, however it is suggested to use lowercase letters only. The database name must be at least three characters long (a limitation of File.createTempFile). To point to the user home directory, use ~/, as in: jdbc:h2:~/test.
#The database URL for connecting to a local database is <code>jdbc:h2:[file:][<path>]<databaseName></code> . The prefix <code>file:</code> is optional. If no or only a relative path is used, then the current working directory is used as a starting point. The case sensitivity of the path and database name depend on the operating system, however it is suggested to use lowercase letters only. The database name must be at least three characters long (a limitation of File.createTempFile). To point to the user home directory, use ~/, as in: jdbc:h2:~/test.
@features_1260_h3
@features_1260_h3
#Memory-Only Databases
#Memory-Only Databases
...
@@ -2081,13 +2081,13 @@ Kompilieren der Software
...
@@ -2081,13 +2081,13 @@ Kompilieren der Software
#For certain use cases (for example: rapid prototyping, testing, high performance operations, read-only databases), it may not be required to persist (changes to) the data at all. This database supports the memory-only mode, where the data is not persisted.
#For certain use cases (for example: rapid prototyping, testing, high performance operations, read-only databases), it may not be required to persist (changes to) the data at all. This database supports the memory-only mode, where the data is not persisted.
@features_1262_p
@features_1262_p
#In some cases, only one connection to a memory-only database is required. This means the database to be opened is private. In this case, the database URL is<code>jdbc:h2:mem:</code>Opening two connections within the same virtual machine means opening two different (private) databases.
#In some cases, only one connection to a memory-only database is required. This means the database to be opened is private. In this case, the database URL is <code>jdbc:h2:mem:</code> Opening two connections within the same virtual machine means opening two different (private) databases.
@features_1263_p
@features_1263_p
#Sometimes multiple connections to the same memory-only database are required. In this case, the database URL must include a name. Example:<code>jdbc:h2:mem:db1</code>. Accessing the same database in this way only works within the same virtual machine and class loader environment.
#Sometimes multiple connections to the same memory-only database are required. In this case, the database URL must include a name. Example: <code>jdbc:h2:mem:db1</code> . Accessing the same database in this way only works within the same virtual machine and class loader environment.
@features_1264_p
@features_1264_p
#It is also possible to access a memory-only database remotely (or from multiple processes in the same machine) using TCP/IP or SSL/TLS. An example database URL is:<code>jdbc:h2:tcp://localhost/mem:db1</code>(using private database remotely is also possible).
#It is also possible to access a memory-only database remotely (or from multiple processes in the same machine) using TCP/IP or SSL/TLS. An example database URL is: <code>jdbc:h2:tcp://localhost/mem:db1</code> (using private database remotely is also possible).
@features_1265_h2
@features_1265_h2
#Connecting to a Database with File Encryption
#Connecting to a Database with File Encryption
...
@@ -2126,7 +2126,7 @@ Kompilieren der Software
...
@@ -2126,7 +2126,7 @@ Kompilieren der Software
#Opening a Database Only if it Already Exists
#Opening a Database Only if it Already Exists
@features_1277_p
@features_1277_p
#By default, when an application calls<code>DriverManager.getConnection(url,...)</code>and the database specified in the URL does not yet exist, a new (empty) database is created. In some situations, it is better to restrict creating new database, and only open the database if it already exists. This can be done by adding<code>;ifexists=true</code>to the URL. In this case, if the database does not already exist, an exception is thrown when trying to connect. The connection only succeeds when the database already exists. The complete URL may look like this:
#By default, when an application calls <code>DriverManager.getConnection(url,...)</code> and the database specified in the URL does not yet exist, a new (empty) database is created. In some situations, it is better to restrict creating new database, and only open the database if it already exists. This can be done by adding <code>;ifexists=true</code> to the URL. In this case, if the database does not already exist, an exception is thrown when trying to connect. The connection only succeeds when the database already exists. The complete URL may look like this:
@features_1278_h2
@features_1278_h2
#Closing the Database
#Closing the Database
...
@@ -2138,7 +2138,7 @@ Kompilieren der Software
...
@@ -2138,7 +2138,7 @@ Kompilieren der Software
#Usually, the database is closed when the last connection to it is closed. In some situations this slows down the application, for example when it is not possible leave the connection open. The automatic closing of the database can be delayed or disabled with the SQL statement SET DB_CLOSE_DELAY <seconds>. The seconds specifies the number of seconds to keep a database open after the last connection to it was closed. For example the following statement will keep the database open for 10 seconds:
#Usually, the database is closed when the last connection to it is closed. In some situations this slows down the application, for example when it is not possible leave the connection open. The automatic closing of the database can be delayed or disabled with the SQL statement SET DB_CLOSE_DELAY <seconds>. The seconds specifies the number of seconds to keep a database open after the last connection to it was closed. For example the following statement will keep the database open for 10 seconds:
@features_1281_p
@features_1281_p
#The value -1 means the database is never closed automatically. The value 0 is the default and means the database is closed when the last connection is closed. This setting is persistent and can be set by an administrator only. It is possible to set the value in the database URL:<code>jdbc:h2:~/test;DB_CLOSE_DELAY=10</code>.
#The value -1 means the database is never closed automatically. The value 0 is the default and means the database is closed when the last connection is closed. This setting is persistent and can be set by an administrator only. It is possible to set the value in the database URL: <code>jdbc:h2:~/test;DB_CLOSE_DELAY=10</code> .
@features_1282_h3
@features_1282_h3
#Don't Close the Database when the VM Exits
#Don't Close the Database when the VM Exits
...
@@ -2162,7 +2162,7 @@ Kompilieren der Software
...
@@ -2162,7 +2162,7 @@ Kompilieren der Software
#Changing Other Settings when Opening a Connection
#Changing Other Settings when Opening a Connection
@features_1289_p
@features_1289_p
#In addition to the settings already described (cipher, file_lock, ifexists, user, password), other database settings can be passed in the database URL. Adding<code>setting=value</code>at the end of an URL is the same as executing the statement<code>SET setting value</code>just after connecting. For a list of settings supported by this database please see the SQL grammar documentation.
#In addition to the settings already described (cipher, file_lock, ifexists, user, password), other database settings can be passed in the database URL. Adding <code>setting=value</code> at the end of an URL is the same as executing the statement <code>SET setting value</code> just after connecting. For a list of settings supported by this database please see the SQL grammar documentation.
@features_1290_h2
@features_1290_h2
#Custom File Access Mode
#Custom File Access Mode
...
@@ -2171,7 +2171,7 @@ Kompilieren der Software
...
@@ -2171,7 +2171,7 @@ Kompilieren der Software
#Usually, the database opens log, data and index files with the access mode 'rw', meaning read-write (except for read only databases, where the mode 'r' is used). Also supported are 'rws' and 'rwd'. The access mode used for log files is set via ACCESS_MODE_LOG; for data and index files use ACCESS_MODE_DATA. These settings must be specified in the database URL:
#Usually, the database opens log, data and index files with the access mode 'rw', meaning read-write (except for read only databases, where the mode 'r' is used). Also supported are 'rws' and 'rwd'. The access mode used for log files is set via ACCESS_MODE_LOG; for data and index files use ACCESS_MODE_DATA. These settings must be specified in the database URL:
@features_1292_p
@features_1292_p
#For more information see<a href="advanced.html#durability_problems">Durability Problems</a>. On many operating systems the access mode 'rws' does not guarantee that the data is written to the disk.
#For more information see <a href="advanced.html#durability_problems">Durability Problems</a> . On many operating systems the access mode 'rws' does not guarantee that the data is written to the disk.
@features_1293_h2
@features_1293_h2
#Multiple Connections
#Multiple Connections
...
@@ -2435,7 +2435,7 @@ Kompilieren der Software
...
@@ -2435,7 +2435,7 @@ Kompilieren der Software
#Compatibility Modes
#Compatibility Modes
@features_1380_p
@features_1380_p
#All database engines behave a little bit different. For certain features, this database can emulate the behavior of specific databases. Not all features or differences of those databases are implemented. Currently, this feature is mainly used for randomized comparative testing (where random statements are executed against multiple databases and the results are compared). The mode can be changed by specifying the mode in the database URL, or using the SQL statement SET MODE. To use the HSQLDB mode, you can use the database URL<code>jdbc:h2:~/test;MODE=HSQLDB</code>or the SQL statement<code>SET MODE HSQLDB</code>. Here is the list of currently supported modes and the difference to the regular mode:
#All database engines behave a little bit different. For certain features, this database can emulate the behavior of specific databases. Not all features or differences of those databases are implemented. Currently, this feature is mainly used for randomized comparative testing (where random statements are executed against multiple databases and the results are compared). The mode can be changed by specifying the mode in the database URL, or using the SQL statement SET MODE. To use the HSQLDB mode, you can use the database URL <code>jdbc:h2:~/test;MODE=HSQLDB</code> or the SQL statement <code>SET MODE HSQLDB</code> . Here is the list of currently supported modes and the difference to the regular mode:
@features_1381_th
@features_1381_th
#Mode
#Mode
...
@@ -2489,13 +2489,13 @@ Kompilieren der Software
...
@@ -2489,13 +2489,13 @@ Kompilieren der Software
#The simplest way to enable the trace option is setting it in the database URL. There are two settings, one for System.out (TRACE_LEVEL_SYSTEM_OUT) tracing, and one for file tracing (TRACE_LEVEL_FILE). The trace levels are 0 for OFF, 1 for ERROR (the default), 2 for INFO and 3 for DEBUG. A database URL with both levels set to DEBUG is:
#The simplest way to enable the trace option is setting it in the database URL. There are two settings, one for System.out (TRACE_LEVEL_SYSTEM_OUT) tracing, and one for file tracing (TRACE_LEVEL_FILE). The trace levels are 0 for OFF, 1 for ERROR (the default), 2 for INFO and 3 for DEBUG. A database URL with both levels set to DEBUG is:
@features_1398_p
@features_1398_p
#The trace level can be changed at runtime by executing the SQL command<code>SET TRACE_LEVEL_SYSTEM_OUT level</code>(for System.out tracing) or<code>SET TRACE_LEVEL_FILE level</code>(for file tracing). Example:
#The trace level can be changed at runtime by executing the SQL command <code>SET TRACE_LEVEL_SYSTEM_OUT level</code> (for System.out tracing) or <code>SET TRACE_LEVEL_FILE level</code> (for file tracing). Example:
@features_1399_h3
@features_1399_h3
#Setting the Maximum Size of the Trace File
#Setting the Maximum Size of the Trace File
@features_1400_p
@features_1400_p
#When using a high trace level, the trace file can get very big quickly. The size of the file can be limited by executing the SQL statement<code>SET TRACE_MAX_FILE_SIZE maximumFileSizeInMB</code>. If the log file exceeds the limit, the file is renamed to .old and a new file is created. If another .old file exists, it is deleted. The default setting is 16 MB. Example:
#When using a high trace level, the trace file can get very big quickly. The size of the file can be limited by executing the SQL statement <code>SET TRACE_MAX_FILE_SIZE maximumFileSizeInMB</code> . If the log file exceeds the limit, the file is renamed to .old and a new file is created. If another .old file exists, it is deleted. The default setting is 16 MB. Example:
@features_1401_h3
@features_1401_h3
#Java Code Generation
#Java Code Generation
...
@@ -2600,7 +2600,7 @@ Kompilieren der Software
...
@@ -2600,7 +2600,7 @@ Kompilieren der Software
#Passing the User Name and/or Password in the URL
#Passing the User Name and/or Password in the URL
@features_1435_p
@features_1435_p
#Instead of passing the user name as a separate parameter as in<code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test", "sa", "123");</code>the user name (and/or password) can be supplied in the URL itself:<code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test;USER=sa;PASSWORD=123");</code>The settings in the URL override the settings passed as a separate parameter.
#Instead of passing the user name as a separate parameter as in <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test", "sa", "123");</code> the user name (and/or password) can be supplied in the URL itself: <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test;USER=sa;PASSWORD=123");</code> The settings in the URL override the settings passed as a separate parameter.
@features_1436_h2
@features_1436_h2
#User Defined Functions and Stored Procedures
#User Defined Functions and Stored Procedures
...
@@ -2717,7 +2717,7 @@ Kompilieren der Software
...
@@ -2717,7 +2717,7 @@ Kompilieren der Software
#This software does not rely on many Java libraries or other software, to increase the portability and ease of use, and for performance reasons. For example, the encryption algorithms and many library functions are implemented in the database instead of using the existing libraries. Libraries that are not available in open source Java implementations (such as Swing) are not used or only used for specific features.
#This software does not rely on many Java libraries or other software, to increase the portability and ease of use, and for performance reasons. For example, the encryption algorithms and many library functions are implemented in the database instead of using the existing libraries. Libraries that are not available in open source Java implementations (such as Swing) are not used or only used for specific features.
@frame_1000_p
@frame_1000_p
#H2 (for 'Hypersonic 2') is free a Java SQL DBMS. Clustering, embedded and server mode, transactions, referential integrity, views, subqueries, triggers, encryption, and disk based or in-memory operation are supported. A browser based console application is included. If you see this page your browser does not support frames. Please click here to view the<a href="search.html">index</a>.
#H2 (for 'Hypersonic 2') is free a Java SQL DBMS. Clustering, embedded and server mode, transactions, referential integrity, views, subqueries, triggers, encryption, and disk based or in-memory operation are supported. A browser based console application is included. If you see this page your browser does not support frames. Please click here to view the <a href="search.html">index</a> .
@history_1000_h1
@history_1000_h1
#History and Roadmap
#History and Roadmap
...
@@ -4886,10 +4886,10 @@ Kompilieren der Software
...
@@ -4886,10 +4886,10 @@ Kompilieren der Software
#Summary and License FAQ
#Summary and License FAQ
@license_1002_p
@license_1002_p
#This license is a modified version of the MPL 1.1 available at<a href="http://www.mozilla.org/MPL">www.mozilla.org/MPL</a>, the changes are
#This license is a modified version of the MPL 1.1 available at <a href="http://www.mozilla.org/MPL">www.mozilla.org/MPL</a> , the changes are
@license_1003_em
@license_1003_em
#underlined</em>. There is a License FAQ section at the Mozilla web site, most of that is applicable to the H2 License as well.
#underlined</em>. There is a License FAQ section at the Mozilla web site, most of that is applicable to the H2 License as well.
@license_1004_li
@license_1004_li
#You can use H2 for free. You can integrate it into your application (including commercial applications), and you can distribute it.
#You can use H2 for free. You can integrate it into your application (including commercial applications), and you can distribute it.
...
@@ -4955,7 +4955,7 @@ Kompilieren der Software
...
@@ -4955,7 +4955,7 @@ Kompilieren der Software
#1.6. "Initial Developer"
#1.6. "Initial Developer"
@license_1025_p
@license_1025_p
#means the individual or entity identified as the Initial Developer in the Source Code notice required by<a href="#exhibit-a">Exhibit A</a>.
#means the individual or entity identified as the Initial Developer in the Source Code notice required by <a href="#exhibit-a">Exhibit A</a> .
@license_1026_b
@license_1026_b
#1.7. "Larger Work"
#1.7. "Larger Work"
...
@@ -4991,7 +4991,7 @@ Kompilieren der Software
...
@@ -4991,7 +4991,7 @@ Kompilieren der Software
#1.10. "Original Code"
#1.10. "Original Code"
@license_1037_p
@license_1037_p
#means Source Code of computer software code which is described in the Source Code notice required by<a href="#exhibit-a">Exhibit A</a>as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
#means Source Code of computer software code which is described in the Source Code notice required by <a href="#exhibit-a">Exhibit A</a> as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
@license_1038_b
@license_1038_b
#1.10.1. "Patent Claims"
#1.10.1. "Patent Claims"
...
@@ -5009,7 +5009,7 @@ Kompilieren der Software
...
@@ -5009,7 +5009,7 @@ Kompilieren der Software
#1.12. "You" (or "Your")
#1.12. "You" (or "Your")
@license_1043_p
@license_1043_p
#means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under<a href="#section-6.1">Section 6.1.</a>For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
#means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under <a href="#section-6.1">Section 6.1.</a> For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
@license_1044_h3
@license_1044_h3
#2. Source Code License
#2. Source Code License
...
@@ -5027,10 +5027,10 @@ Kompilieren der Software
...
@@ -5027,10 +5027,10 @@ Kompilieren der Software
#2.1.b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
#2.1.b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
@license_1049_p
@license_1049_p
#2.1.c. the licenses granted in this Section 2.1 (<a href="#section-2.1-a">a</a>) and (<a href="#section-2.1-b">b</a>) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
#2.1.c. the licenses granted in this Section 2.1 ( <a href="#section-2.1-a">a</a> ) and ( <a href="#section-2.1-b">b</a> ) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
@license_1050_p
@license_1050_p
#2.1.d. Notwithstanding Section 2.1 (<a href="#section-2.1-b">b</a>) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
#2.1.d. Notwithstanding Section 2.1 ( <a href="#section-2.1-b">b</a> ) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
@license_1051_h4
@license_1051_h4
#2.2. Contributor Grant
#2.2. Contributor Grant
...
@@ -5045,10 +5045,10 @@ Kompilieren der Software
...
@@ -5045,10 +5045,10 @@ Kompilieren der Software
#2.2.b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
#2.2.b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
@license_1055_p
@license_1055_p
#2.2.c. the licenses granted in Sections 2.2 (<a href="#section-2.2-a">a</a>) and 2.2 (<a href="#section-2.2-b">b</a>) are effective on the date Contributor first makes Commercial Use of the Covered Code.
#2.2.c. the licenses granted in Sections 2.2 ( <a href="#section-2.2-a">a</a> ) and 2.2 ( <a href="#section-2.2-b">b</a> ) are effective on the date Contributor first makes Commercial Use of the Covered Code.
@license_1056_p
@license_1056_p
#2.2.c. Notwithstanding Section 2.2 (<a href="#section-2.2-b">b</a>) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
#2.2.c. Notwithstanding Section 2.2 ( <a href="#section-2.2-b">b</a> ) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
@license_1057_h3
@license_1057_h3
#3. Distribution Obligations
#3. Distribution Obligations
...
@@ -5057,7 +5057,7 @@ Kompilieren der Software
...
@@ -5057,7 +5057,7 @@ Kompilieren der Software
#3.1. Application of License
#3.1. Application of License
@license_1059_p
@license_1059_p
#The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section<a href="#section-2.2">2.2</a>. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section<a href="#section-6.1">6.1</a>, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section<a href="#section-3.5">3.5</a>.
#The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section <a href="#section-2.2">2.2</a> . The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section <a href="#section-6.1">6.1</a> , and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section <a href="#section-3.5">3.5</a> .
@license_1060_h4
@license_1060_h4
#3.2. Availability of Source Code
#3.2. Availability of Source Code
...
@@ -5078,7 +5078,7 @@ Kompilieren der Software
...
@@ -5078,7 +5078,7 @@ Kompilieren der Software
#3.4.a. Third Party Claims:
#3.4.a. Third Party Claims:
@license_1066_p
@license_1066_p
#If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections<a href="#section-2.1">2.1</a>or<a href="#section-2.2">2.2</a>, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section<a href="#section-3.2">3.2</a>, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
#If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections <a href="#section-2.1">2.1</a> or <a href="#section-2.2">2.2</a> , Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section <a href="#section-3.2">3.2</a> , Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
@license_1067_b
@license_1067_b
#3.4.b. Contributor APIs:
#3.4.b. Contributor APIs:
...
@@ -5090,19 +5090,19 @@ Kompilieren der Software
...
@@ -5090,19 +5090,19 @@ Kompilieren der Software
#3.4.c. Representations:
#3.4.c. Representations:
@license_1070_p
@license_1070_p
#Contributor represents that, except as disclosed pursuant to Section 3.4 (<a href="#section-3.4-a">a</a>) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
#Contributor represents that, except as disclosed pursuant to Section 3.4 ( <a href="#section-3.4-a">a</a> ) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
@license_1071_h4
@license_1071_h4
#3.5. Required Notices
#3.5. Required Notices
@license_1072_p
@license_1072_p
#You must duplicate the notice in<a href="#exhibit-a">Exhibit A</a>in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in<a href="#exhibit-a">Exhibit A</a>. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
#You must duplicate the notice in <a href="#exhibit-a">Exhibit A</a> in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in <a href="#exhibit-a">Exhibit A</a> . You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
@license_1073_h4
@license_1073_h4
#3.6. Distribution of Executable Versions
#3.6. Distribution of Executable Versions
@license_1074_p
@license_1074_p
#You may distribute Covered Code in Executable form only if the requirements of Sections<a href="#section-3.1">3.1</a>,<a href="#section-3.2">3.2</a>,<a href="#section-3.3">3.3</a>,<a href="#section-3.4">3.4</a>and<a href="#section-3.5">3.5</a>have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section<a href="#section-3.2">3.2</a>. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
#You may distribute Covered Code in Executable form only if the requirements of Sections <a href="#section-3.1">3.1</a> , <a href="#section-3.2">3.2</a> , <a href="#section-3.3">3.3</a> , <a href="#section-3.4">3.4</a> and <a href="#section-3.5">3.5</a> have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section <a href="#section-3.2">3.2</a> . The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
@license_1075_h4
@license_1075_h4
#3.7. Larger Works
#3.7. Larger Works
...
@@ -5114,13 +5114,13 @@ Kompilieren der Software
...
@@ -5114,13 +5114,13 @@ Kompilieren der Software
#4. Inability to Comply Due to Statute or Regulation.
#4. Inability to Comply Due to Statute or Regulation.
@license_1078_p
@license_1078_p
#If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the<b>legal</b>file described in Section<a href="#section-3.4">3.4</a>and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
#If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the <b>legal</b> file described in Section <a href="#section-3.4">3.4</a> and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
@license_1079_h3
@license_1079_h3
#5. Application of this License.
#5. Application of this License.
@license_1080_p
@license_1080_p
#This License applies to code to which the Initial Developer has attached the notice in<a href="#exhibit-a">Exhibit A</a>and to related Covered Code.
#This License applies to code to which the Initial Developer has attached the notice in <a href="#exhibit-a">Exhibit A</a> and to related Covered Code.
@license_1081_h3
@license_1081_h3
#6. Versions of the License.
#6. Versions of the License.
...
@@ -5132,7 +5132,7 @@ Kompilieren der Software
...
@@ -5132,7 +5132,7 @@ Kompilieren der Software
#The
#The
@license_1084_em
@license_1084_em
#H2 Group</em>may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
#H2 Group</em>may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
@license_1085_h4
@license_1085_h4
#6.2. Effect of New Versions
#6.2. Effect of New Versions
...
@@ -5141,10 +5141,10 @@ Kompilieren der Software
...
@@ -5141,10 +5141,10 @@ Kompilieren der Software
#Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the
#Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the
@license_1087_em
@license_1087_em
#H2 Group</em>. No one other than the
#H2 Group</em>. No one other than the
@license_1088_em
@license_1088_em
#H2 Group</em>has the right to modify the terms applicable to Covered Code created under this License.
#H2 Group</em>has the right to modify the terms applicable to Covered Code created under this License.
@license_1089_h4
@license_1089_h4
#6.3. Derivative Works
#6.3. Derivative Works
...
@@ -5153,10 +5153,10 @@ Kompilieren der Software
...
@@ -5153,10 +5153,10 @@ Kompilieren der Software
#If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases
#If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases
@license_1091_em
@license_1091_em
#"H2 Group", "H2"</em>or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the
#"H2 Group", "H2"</em>or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the
@license_1092_em
@license_1092_em
#H2 License</em>. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in<a href="#exhibit-a">Exhibit A</a>shall not of themselves be deemed to be modifications of this License.)
#H2 License</em> . (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in <a href="#exhibit-a">Exhibit A</a> shall not of themselves be deemed to be modifications of this License.)
@license_1093_h3
@license_1093_h3
#7. Disclaimer of Warranty
#7. Disclaimer of Warranty
...
@@ -5174,16 +5174,16 @@ Kompilieren der Software
...
@@ -5174,16 +5174,16 @@ Kompilieren der Software
#8.2. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
#8.2. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
@license_1098_p
@license_1098_p
#8.2.a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections<a href="#section-2.1">2.1</a>and/or<a href="#section-2.2">2.2</a>of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections<a href="#section-2.1">2.1</a>and/or<a href="#section-2.2">2.2</a>automatically terminate at the expiration of the 60 day notice period specified above.
#8.2.a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections <a href="#section-2.1">2.1</a> and/or <a href="#section-2.2">2.2</a> of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections <a href="#section-2.1">2.1</a> and/or <a href="#section-2.2">2.2</a> automatically terminate at the expiration of the 60 day notice period specified above.
@license_1099_p
@license_1099_p
#8.2.b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(<a href="#section-2.1-b">b</a>) and 2.2(<a href="#section-2.2-b">b</a>) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
#8.2.b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1( <a href="#section-2.1-b">b</a> ) and 2.2( <a href="#section-2.2-b">b</a> ) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
@license_1100_p
@license_1100_p
#8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections<a href="#section-2.1">2.1</a>or<a href="#section-2.2">2.2</a>shall be taken into account in determining the amount or value of any payment or license.
#8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections <a href="#section-2.1">2.1</a> or <a href="#section-2.2">2.2</a> shall be taken into account in determining the amount or value of any payment or license.
@license_1101_p
@license_1101_p
#8.4. In the event of termination under Sections<a href="#section-8.1">8.1</a>or<a href="#section-8.2">8.2</a>above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
#8.4. In the event of termination under Sections <a href="#section-8.1">8.1</a> or <a href="#section-8.2">8.2</a> above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
@license_1102_h3
@license_1102_h3
#9. Limitation of Liability
#9. Limitation of Liability
...
@@ -5204,13 +5204,13 @@ Kompilieren der Software
...
@@ -5204,13 +5204,13 @@ Kompilieren der Software
#This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by
#This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by
@license_1108_em
@license_1108_em
#Swiss</em>law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in
#Swiss</em>law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in
@license_1109_em
@license_1109_em
#Switzerland</em>, any litigation relating to this License shall be subject to the jurisdiction of
#Switzerland</em>, any litigation relating to this License shall be subject to the jurisdiction of
@license_1110_em
@license_1110_em
#Switzerland</em>, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
#Switzerland</em>, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
@license_1111_h3
@license_1111_h3
#12. Responsibility for Claims
#12. Responsibility for Claims
...
@@ -5222,7 +5222,7 @@ Kompilieren der Software
...
@@ -5222,7 +5222,7 @@ Kompilieren der Software
#13. Multiple-Licensed Code
#13. Multiple-Licensed Code
@license_1114_p
@license_1114_p
#Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this or the alternative licenses, if any, specified by the Initial Developer in the file described in<a href="#exhibit-a">Exhibit A</a>.
#Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this or the alternative licenses, if any, specified by the Initial Developer in the file described in <a href="#exhibit-a">Exhibit A</a> .
@license_1115_h3
@license_1115_h3
#Exhibit A
#Exhibit A
...
@@ -5279,7 +5279,7 @@ Kompilieren der Software
...
@@ -5279,7 +5279,7 @@ Kompilieren der Software
#Performance
#Performance
@mainWeb_1017_td
@mainWeb_1017_td
#Operations/second (higher is better) -<a href="performance.html">More information about this test</a>
#Operations/second (higher is better) -<a href="performance.html">More information about this test</a>
@mainWeb_1018_td
@mainWeb_1018_td
#
#
...
@@ -5291,13 +5291,13 @@ Kompilieren der Software
...
@@ -5291,13 +5291,13 @@ Kompilieren der Software
#Newsfeeds:
#Newsfeeds:
@mainWeb_1021_p
@mainWeb_1021_p
#Two are available:<a href="http://www.h2database.com/html/newsfeed-atom.xml" target="_blank">Full text (Atom)</a>and<a href="http://www.h2database.com/html/newsfeed-rss.xml" target="_blank">Header only (RSS)</a>.
#Two are available: <a href="http://www.h2database.com/html/newsfeed-atom.xml" target="_blank">Full text (Atom)</a> and <a href="http://www.h2database.com/html/newsfeed-rss.xml" target="_blank">Header only (RSS)</a> .
@mainWeb_1022_b
@mainWeb_1022_b
#Email Newsletter:
#Email Newsletter:
@mainWeb_1023_form
@mainWeb_1023_form
#Subscribe to<a href="http://groups.google.com/group/h2database-news/subscribe">H2 Database News (Google account required)</a>to get informed about new releases. Your email address is only used in this context. If you don't want a Google account, there is a manually maintained list as well:
#Subscribe to <a href="http://groups.google.com/group/h2database-news/subscribe">H2 Database News (Google account required)</a> to get informed about new releases. Your email address is only used in this context. If you don't want a Google account, there is a manually maintained list as well:
@mainWeb_1024_form
@mainWeb_1024_form
#Email:
#Email:
...
@@ -6497,7 +6497,7 @@ Kompilieren der Software
...
@@ -6497,7 +6497,7 @@ Kompilieren der Software
#Analyze First
#Analyze First
@performance_1382_p
@performance_1382_p
#Before trying to optimize the performance, it is important to know where the time is actually spent. The same is true for memory problems. Premature or 'blind' optimization should be avoided, as it is not an efficient way to solve the problem. There are various ways to analyze the application. In some situations it is possible to compare two implementations and use System.currentTimeMillis() to find out which one is faster. But this does not work for complex applications with many modules, and for memory problems. A very good tool to measure both the memory and the CPU is the<a href="http://www.yourkit.com">YourKit Java Profiler</a>. This tool is also used to optimize the performance and memory footprint of this database engine.
#Before trying to optimize the performance, it is important to know where the time is actually spent. The same is true for memory problems. Premature or 'blind' optimization should be avoided, as it is not an efficient way to solve the problem. There are various ways to analyze the application. In some situations it is possible to compare two implementations and use System.currentTimeMillis() to find out which one is faster. But this does not work for complex applications with many modules, and for memory problems. A very good tool to measure both the memory and the CPU is the <a href="http://www.yourkit.com">YourKit Java Profiler</a> . This tool is also used to optimize the performance and memory footprint of this database engine.
@performance_1383_h2
@performance_1383_h2
#Database Performance Tuning
#Database Performance Tuning
...
@@ -6512,7 +6512,7 @@ Kompilieren der Software
...
@@ -6512,7 +6512,7 @@ Kompilieren der Software
#Using the Trace Options
#Using the Trace Options
@performance_1387_p
@performance_1387_p
#If the main performance hot spots are in the database engine, in many cases the performance can be optimized by creating additional indexes, or changing the schema. Sometimes the application does not directly generate the SQL statements, for example if an O/R mapping tool is used. To view the SQL statements and JDBC API calls, you can use the trace options. For more information, see<a href="features.html#trace_options">Using the Trace Options</a>.
#If the main performance hot spots are in the database engine, in many cases the performance can be optimized by creating additional indexes, or changing the schema. Sometimes the application does not directly generate the SQL statements, for example if an O/R mapping tool is used. To view the SQL statements and JDBC API calls, you can use the trace options. For more information, see <a href="features.html#trace_options">Using the Trace Options</a> .
@performance_1388_h3
@performance_1388_h3
#Index Usage
#Index Usage
...
@@ -6566,13 +6566,13 @@ Kompilieren der Software
...
@@ -6566,13 +6566,13 @@ Kompilieren der Software
#This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to:
#This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to:
@quickstartText_1005_li
@quickstartText_1005_li
#Add<code>h2.jar</code>to the classpath
#Add <code>h2.jar</code> to the classpath
@quickstartText_1006_li
@quickstartText_1006_li
#Use the JDBC driver class:<code>org.h2.Driver</code>
#Use the JDBC driver class:<code>org.h2.Driver</code>
@quickstartText_1007_li
@quickstartText_1007_li
#The database URL<code>jdbc:h2:~/test</code>opens the database 'test' in your user home directory
#The database URL <code>jdbc:h2:~/test</code> opens the database 'test' in your user home directory
@quickstartText_1008_h2
@quickstartText_1008_h2
#The H2 Console Application
#The H2 Console Application
...
@@ -6581,7 +6581,7 @@ Kompilieren der Software
...
@@ -6581,7 +6581,7 @@ Kompilieren der Software
#The Console lets you access a SQL database using a browser interface.
#The Console lets you access a SQL database using a browser interface.
@quickstartText_1010_p
@quickstartText_1010_p
#If you don't have Windows XP, or if something does not work as expected, please see the detailed description in the<a href="tutorial.html">Tutorial</a>.
#If you don't have Windows XP, or if something does not work as expected, please see the detailed description in the <a href="tutorial.html">Tutorial</a> .
#Select <span class="button">Generic H2</span> and click <span class="button">Connect</span> :
@quickstartText_1020_p
@quickstartText_1020_p
#You are now logged in.
#You are now logged in.
...
@@ -6617,7 +6617,7 @@ Kompilieren der Software
...
@@ -6617,7 +6617,7 @@ Kompilieren der Software
#Sample
#Sample
@quickstartText_1022_p
@quickstartText_1022_p
#Click on the<span class="button">Sample SQL Script</span>:
#Click on the <span class="button">Sample SQL Script</span> :
@quickstartText_1023_p
@quickstartText_1023_p
#The SQL commands appear in the command area.
#The SQL commands appear in the command area.
...
@@ -6626,7 +6626,7 @@ Kompilieren der Software
...
@@ -6626,7 +6626,7 @@ Kompilieren der Software
#Execute
#Execute
@quickstartText_1025_p
@quickstartText_1025_p
#Click<span class="button">Run</span>:
#Click <span class="button">Run</span> :
@quickstartText_1026_p
@quickstartText_1026_p
#On the left side, a new entry TEST is added below the database icon. The operations and results of the statements are shown below the script.
#On the left side, a new entry TEST is added below the database icon. The operations and results of the statements are shown below the script.
...
@@ -6635,7 +6635,7 @@ Kompilieren der Software
...
@@ -6635,7 +6635,7 @@ Kompilieren der Software
#Disconnect
#Disconnect
@quickstartText_1028_p
@quickstartText_1028_p
#Click on<span class="button">Disconnect</span>:
#Click on <span class="button">Disconnect</span> :
@quickstartText_1029_p
@quickstartText_1029_p
#to close the database.
#to close the database.
...
@@ -6644,7 +6644,7 @@ Kompilieren der Software
...
@@ -6644,7 +6644,7 @@ Kompilieren der Software
#End
#End
@quickstartText_1031_p
@quickstartText_1031_p
#Close the console window. For more information, see the<a href="tutorial.html">Tutorial</a>.
#Close the console window. For more information, see the <a href="tutorial.html">Tutorial</a> .
@search_1000_b
@search_1000_b
#Search:
#Search:
...
@@ -6695,7 +6695,7 @@ Kompilieren der Software
...
@@ -6695,7 +6695,7 @@ Kompilieren der Software
#Appendix
#Appendix
@search_1016_a
@search_1016_a
#Build
Kompilieren
@search_1017_a
@search_1017_a
#History and Roadmap
#History and Roadmap
...
@@ -6812,7 +6812,7 @@ Kompilieren der Software
...
@@ -6812,7 +6812,7 @@ Kompilieren der Software
#Error Message 'Port is in use'
#Error Message 'Port is in use'
@tutorial_1035_p
@tutorial_1035_p
#You can only start one instance of the H2 Console, otherwise you will get the following error message:<code>Port is in use, maybe another ... server already running on...</code>. It is possible to start multiple console applications on the same computer (using different ports), but this is usually not required as the console supports multiple concurrent connections.
#You can only start one instance of the H2 Console, otherwise you will get the following error message: <code>Port is in use, maybe another ... server already running on...</code> . It is possible to start multiple console applications on the same computer (using different ports), but this is usually not required as the console supports multiple concurrent connections.
@tutorial_1036_h3
@tutorial_1036_h3
#Using another Port
#Using another Port
...
@@ -6845,7 +6845,7 @@ Kompilieren der Software
...
@@ -6845,7 +6845,7 @@ Kompilieren der Software
#Application Properties
#Application Properties
@tutorial_1046_p
@tutorial_1046_p
#Starting the server will create a configuration file in you local home directory called<code>.h2.server.properties</code>. For Windows installations, this file will be in the directory<code>C:\Documents and Settings\[username]</code>. This file contains the settings of the application.
#Starting the server will create a configuration file in you local home directory called <code>.h2.server.properties</code> . For Windows installations, this file will be in the directory <code>C:\Documents and Settings\[username]</code> . This file contains the settings of the application.
@tutorial_1047_h3
@tutorial_1047_h3
#Login
#Login
...
@@ -6902,7 +6902,7 @@ Kompilieren der Software
...
@@ -6902,7 +6902,7 @@ Kompilieren der Software
#To connect to a database, a Java application first needs to load the database driver, and then get a connection. A simple way to do that is using the following code:
#To connect to a database, a Java application first needs to load the database driver, and then get a connection. A simple way to do that is using the following code:
@tutorial_1065_p
@tutorial_1065_p
#This code first loads the driver (<code>Class.forName()</code>) and then opens a connection (using<code>DriverManager.getConnection()</code>). The driver name is<code>"org.h2.Driver"</code>in every case. The database URL always needs to start with<code>jdbc:h2:</code>to be recognized by this database. The second parameter in the<code>getConnection()</code>call is the user name ('sa' for System Administrator in this example). The third parameter is the password. Please note that in this database, user names are not case sensitive, but passwords are case sensitive.
#This code first loads the driver ( <code>Class.forName()</code> ) and then opens a connection (using <code>DriverManager.getConnection()</code> ). The driver name is <code>"org.h2.Driver"</code> in every case. The database URL always needs to start with <code>jdbc:h2:</code> to be recognized by this database. The second parameter in the <code>getConnection()</code> call is the user name ('sa' for System Administrator in this example). The third parameter is the password. Please note that in this database, user names are not case sensitive, but passwords are case sensitive.
@@ -239,7 +239,7 @@ Autocommit needs to be switched off
...
@@ -239,7 +239,7 @@ Autocommit needs to be switched off
A transaction is started, for example by inserting a row
A transaction is started, for example by inserting a row
@advanced_1080_li
@advanced_1080_li
The transaction is marked 'prepared' by executing the SQL statement<code>PREPARE COMMIT transactionName</code>
The transaction is marked 'prepared' by executing the SQL statement<code>PREPARE COMMIT transactionName</code>
@advanced_1081_li
@advanced_1081_li
The transaction can now be committed or rolled back
The transaction can now be committed or rolled back
...
@@ -248,10 +248,10 @@ The transaction can now be committed or rolled back
...
@@ -248,10 +248,10 @@ The transaction can now be committed or rolled back
If a problem occurs before the transaction was successfully committed or rolled back (for example because a network problem occurred), the transaction is in the state 'in-doubt'
If a problem occurs before the transaction was successfully committed or rolled back (for example because a network problem occurred), the transaction is in the state 'in-doubt'
@advanced_1083_li
@advanced_1083_li
When re-connecting to the database, the in-doubt transactions can be listed with<code>SELECT * FROM INFORMATION_SCHEMA.IN_DOUBT</code>
When re-connecting to the database, the in-doubt transactions can be listed with<code>SELECT * FROM INFORMATION_SCHEMA.IN_DOUBT</code>
@advanced_1084_li
@advanced_1084_li
Each transaction in this list must now be committed or rolled back by executing<code>COMMIT TRANSACTION transactionName</code>or<code>ROLLBACK TRANSACTION transactionName</code>
Each transaction in this list must now be committed or rolled back by executing <code>COMMIT TRANSACTION transactionName</code> or <code>ROLLBACK TRANSACTION transactionName</code>
@advanced_1085_li
@advanced_1085_li
The database needs to be closed and re-opened to apply the changes
The database needs to be closed and re-opened to apply the changes
...
@@ -284,7 +284,7 @@ Certain words of this list are keywords because they are functions that can be u
...
@@ -284,7 +284,7 @@ Certain words of this list are keywords because they are functions that can be u
Run as Windows Service
Run as Windows Service
@advanced_1095_p
@advanced_1095_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 Tanuki Software, Inc. (<a href="http://wrapper.tanukisoftware.org">http://wrapper.tanukisoftware.org</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 H2/service.
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 Tanuki Software, Inc. ( <a href="http://wrapper.tanukisoftware.org">http://wrapper.tanukisoftware.org</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 H2/service.
@advanced_1096_h3
@advanced_1096_h3
Install the Service
Install the Service
...
@@ -326,7 +326,7 @@ This database does not come with its own ODBC driver at this time, but it suppor
...
@@ -326,7 +326,7 @@ This database does not come with its own ODBC driver at this time, but it suppor
ODBC Installation
ODBC Installation
@advanced_1109_p
@advanced_1109_p
First, the ODBC driver must be installed. Any recent PostgreSQL ODBC driver should work, however version 8.2.4 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>.
First, the ODBC driver must be installed. Any recent PostgreSQL ODBC driver should work, however version 8.2.4 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> .
@advanced_1110_h3
@advanced_1110_h3
Starting the Server
Starting the Server
...
@@ -341,13 +341,13 @@ The PG Server (PG for PostgreSQL protocol) is started as well. By default, datab
...
@@ -341,13 +341,13 @@ The PG Server (PG for PostgreSQL protocol) is started as well. By default, datab
The PG server can be started and stopped from within a Java application as follows:
The PG server can be started and stopped from within a Java application as follows:
@advanced_1114_p
@advanced_1114_p
By default, only connections from localhost are allowed. To allow remote connections, use<code>-pgAllowOthers true</code>when starting the server.
By default, only connections from localhost are allowed. To allow remote connections, use <code>-pgAllowOthers true</code> when starting the server.
@advanced_1115_h3
@advanced_1115_h3
ODBC Configuration
ODBC Configuration
@advanced_1116_p
@advanced_1116_p
After installing the driver, a new Data Source must be added. In Windows, run<code>odbcad32.exe</code>to open the Data Source Administrator. Then click on 'Add...' and select the PostgreSQL Unicode driver. Then click 'Finish'. You will be able to change the connection properties:
After installing the driver, a new Data Source must be added. In Windows, run <code>odbcad32.exe</code> to open the Data Source Administrator. Then click on 'Add...' and select the PostgreSQL Unicode driver. Then click 'Finish'. You will be able to change the connection properties:
@advanced_1117_th
@advanced_1117_th
Property
Property
...
@@ -686,7 +686,7 @@ File encryption slows down the performance of the database engine. Compared to u
...
@@ -686,7 +686,7 @@ File encryption slows down the performance of the database engine. Compared to u
SSL/TLS Connections
SSL/TLS Connections
@advanced_1229_p
@advanced_1229_p
Remote SSL/TLS connections are supported using the Java Secure Socket Extension (SSLServerSocket / SSLSocket). By default, anonymous SSL is enabled. The default cipher suite is<code>SSL_DH_anon_WITH_RC4_128_MD5</code>.
Remote SSL/TLS connections are supported using the Java Secure Socket Extension (SSLServerSocket / SSLSocket). By default, anonymous SSL is enabled. The default cipher suite is <code>SSL_DH_anon_WITH_RC4_128_MD5</code> .
@advanced_1230_h3
@advanced_1230_h3
HTTPS Connections
HTTPS Connections
...
@@ -959,31 +959,31 @@ Description
...
@@ -959,31 +959,31 @@ Description
AES-128
AES-128
@advanced_1320_td
@advanced_1320_td
A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a>
A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a>
@advanced_1321_td
@advanced_1321_td
Birthday Paradox
Birthday Paradox
@advanced_1322_td
@advanced_1322_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>
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>
@advanced_1323_td
@advanced_1323_td
Digest
Digest
@advanced_1324_td
@advanced_1324_td
Protocol to protect a password (but not to protect data). See also:<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617: HTTP Digest Access Authentication</a>
Protocol to protect a password (but not to protect data). See also:<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617: HTTP Digest Access Authentication</a>
@advanced_1325_td
@advanced_1325_td
GCJ
GCJ
@advanced_1326_td
@advanced_1326_td
GNU Compiler for Java.<a href="http://gcc.gnu.org/java/">http://gcc.gnu.org/java/</a>and<a href="http://nativej.mtsystems.ch">http://nativej.mtsystems.ch/ (not free any more)</a>
GNU Compiler for Java. <a href="http://gcc.gnu.org/java/">http://gcc.gnu.org/java/</a> and <a href="http://nativej.mtsystems.ch">http://nativej.mtsystems.ch/ (not free any more)</a>
@advanced_1327_td
@advanced_1327_td
HTTPS
HTTPS
@advanced_1328_td
@advanced_1328_td
A protocol to provide security to HTTP connections. See also:<a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818: HTTP Over TLS</a>
A protocol to provide security to HTTP connections. See also:<a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818: HTTP Over TLS</a>
@advanced_1329_td
@advanced_1329_td
Modes of Operation
Modes of Operation
...
@@ -995,19 +995,19 @@ Wikipedia: Block cipher modes of operation
...
@@ -995,19 +995,19 @@ Wikipedia: Block cipher modes of operation
Salt
Salt
@advanced_1332_td
@advanced_1332_td
Random number to increase the security of passwords. See also:<a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia: Key derivation function</a>
Random number to increase the security of passwords. See also:<a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia: Key derivation function</a>
@advanced_1333_td
@advanced_1333_td
SHA-256
SHA-256
@advanced_1334_td
@advanced_1334_td
A cryptographic one-way hash function. See also:<a href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA hash functions</a>
A cryptographic one-way hash function. See also:<a href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA hash functions</a>
@advanced_1335_td
@advanced_1335_td
SQL Injection
SQL Injection
@advanced_1336_td
@advanced_1336_td
A security vulnerability where an application generates SQL statements with embedded user input. See also:<a href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a>
A security vulnerability where an application generates SQL statements with embedded user input. See also:<a href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a>
@advanced_1337_td
@advanced_1337_td
Watermark Attack
Watermark Attack
...
@@ -1019,13 +1019,13 @@ Security problem of certain encryption programs where the existence of certain
...
@@ -1019,13 +1019,13 @@ Security problem of certain encryption programs where the existence of certain
SSL/TLS
SSL/TLS
@advanced_1340_td
@advanced_1340_td
Secure Sockets Layer / Transport Layer Security. See also:<a href="http://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
Secure Sockets Layer / Transport Layer Security. See also:<a href="http://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
@advanced_1341_td
@advanced_1341_td
XTEA
XTEA
@advanced_1342_td
@advanced_1342_td
A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a>
A block encryption algorithm. See also:<a href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a>
For details about changes, see the<a href="history.html">Change Log</a>.
For details about changes, see the <a href="history.html">Change Log</a> .
@faq_1000_h1
@faq_1000_h1
Frequently Asked Questions
Frequently Asked Questions
...
@@ -1214,7 +1214,7 @@ By default, a new database is automatically created if it does not yet exist.
...
@@ -1214,7 +1214,7 @@ By default, a new database is automatically created if it does not yet exist.
How to Connect to a Database?
How to Connect to a Database?
@faq_1024_p
@faq_1024_p
The database driver is<code>org.h2.Driver</code>, and the database URL starts with<code>jdbc:h2:</code>. To connect to a database using JDBC, use the following code:
The database driver is <code>org.h2.Driver</code> , and the database URL starts with <code>jdbc:h2:</code> . To connect to a database using JDBC, use the following code:
The database URL for connecting to a local database is<code>jdbc:h2:[file:][<path>]<databaseName></code>. The prefix<code>file:</code>is optional. If no or only a relative path is used, then the current working directory is used as a starting point. The case sensitivity of the path and database name depend on the operating system, however it is suggested to use lowercase letters only. The database name must be at least three characters long (a limitation of File.createTempFile). To point to the user home directory, use ~/, as in: jdbc:h2:~/test.
The database URL for connecting to a local database is <code>jdbc:h2:[file:][<path>]<databaseName></code> . The prefix <code>file:</code> is optional. If no or only a relative path is used, then the current working directory is used as a starting point. The case sensitivity of the path and database name depend on the operating system, however it is suggested to use lowercase letters only. The database name must be at least three characters long (a limitation of File.createTempFile). To point to the user home directory, use ~/, as in: jdbc:h2:~/test.
@features_1260_h3
@features_1260_h3
Memory-Only Databases
Memory-Only Databases
...
@@ -2081,13 +2081,13 @@ Memory-Only Databases
...
@@ -2081,13 +2081,13 @@ Memory-Only Databases
For certain use cases (for example: rapid prototyping, testing, high performance operations, read-only databases), it may not be required to persist (changes to) the data at all. This database supports the memory-only mode, where the data is not persisted.
For certain use cases (for example: rapid prototyping, testing, high performance operations, read-only databases), it may not be required to persist (changes to) the data at all. This database supports the memory-only mode, where the data is not persisted.
@features_1262_p
@features_1262_p
In some cases, only one connection to a memory-only database is required. This means the database to be opened is private. In this case, the database URL is<code>jdbc:h2:mem:</code>Opening two connections within the same virtual machine means opening two different (private) databases.
In some cases, only one connection to a memory-only database is required. This means the database to be opened is private. In this case, the database URL is <code>jdbc:h2:mem:</code> Opening two connections within the same virtual machine means opening two different (private) databases.
@features_1263_p
@features_1263_p
Sometimes multiple connections to the same memory-only database are required. In this case, the database URL must include a name. Example:<code>jdbc:h2:mem:db1</code>. Accessing the same database in this way only works within the same virtual machine and class loader environment.
Sometimes multiple connections to the same memory-only database are required. In this case, the database URL must include a name. Example: <code>jdbc:h2:mem:db1</code> . Accessing the same database in this way only works within the same virtual machine and class loader environment.
@features_1264_p
@features_1264_p
It is also possible to access a memory-only database remotely (or from multiple processes in the same machine) using TCP/IP or SSL/TLS. An example database URL is:<code>jdbc:h2:tcp://localhost/mem:db1</code>(using private database remotely is also possible).
It is also possible to access a memory-only database remotely (or from multiple processes in the same machine) using TCP/IP or SSL/TLS. An example database URL is: <code>jdbc:h2:tcp://localhost/mem:db1</code> (using private database remotely is also possible).
@features_1265_h2
@features_1265_h2
Connecting to a Database with File Encryption
Connecting to a Database with File Encryption
...
@@ -2126,7 +2126,7 @@ For more information about the algorithms please see in Advanced Topics under Fi
...
@@ -2126,7 +2126,7 @@ For more information about the algorithms please see in Advanced Topics under Fi
Opening a Database Only if it Already Exists
Opening a Database Only if it Already Exists
@features_1277_p
@features_1277_p
By default, when an application calls<code>DriverManager.getConnection(url,...)</code>and the database specified in the URL does not yet exist, a new (empty) database is created. In some situations, it is better to restrict creating new database, and only open the database if it already exists. This can be done by adding<code>;ifexists=true</code>to the URL. In this case, if the database does not already exist, an exception is thrown when trying to connect. The connection only succeeds when the database already exists. The complete URL may look like this:
By default, when an application calls <code>DriverManager.getConnection(url,...)</code> and the database specified in the URL does not yet exist, a new (empty) database is created. In some situations, it is better to restrict creating new database, and only open the database if it already exists. This can be done by adding <code>;ifexists=true</code> to the URL. In this case, if the database does not already exist, an exception is thrown when trying to connect. The connection only succeeds when the database already exists. The complete URL may look like this:
@features_1278_h2
@features_1278_h2
Closing the Database
Closing the Database
...
@@ -2138,7 +2138,7 @@ Delayed Database Closing
...
@@ -2138,7 +2138,7 @@ Delayed Database Closing
Usually, the database is closed when the last connection to it is closed. In some situations this slows down the application, for example when it is not possible leave the connection open. The automatic closing of the database can be delayed or disabled with the SQL statement SET DB_CLOSE_DELAY <seconds>. The seconds specifies the number of seconds to keep a database open after the last connection to it was closed. For example the following statement will keep the database open for 10 seconds:
Usually, the database is closed when the last connection to it is closed. In some situations this slows down the application, for example when it is not possible leave the connection open. The automatic closing of the database can be delayed or disabled with the SQL statement SET DB_CLOSE_DELAY <seconds>. The seconds specifies the number of seconds to keep a database open after the last connection to it was closed. For example the following statement will keep the database open for 10 seconds:
@features_1281_p
@features_1281_p
The value -1 means the database is never closed automatically. The value 0 is the default and means the database is closed when the last connection is closed. This setting is persistent and can be set by an administrator only. It is possible to set the value in the database URL:<code>jdbc:h2:~/test;DB_CLOSE_DELAY=10</code>.
The value -1 means the database is never closed automatically. The value 0 is the default and means the database is closed when the last connection is closed. This setting is persistent and can be set by an administrator only. It is possible to set the value in the database URL: <code>jdbc:h2:~/test;DB_CLOSE_DELAY=10</code> .
@features_1282_h3
@features_1282_h3
Don't Close the Database when the VM Exits
Don't Close the Database when the VM Exits
...
@@ -2162,7 +2162,7 @@ Some applications (for example OpenOffice.org Base) pass some additional paramet
...
@@ -2162,7 +2162,7 @@ Some applications (for example OpenOffice.org Base) pass some additional paramet
Changing Other Settings when Opening a Connection
Changing Other Settings when Opening a Connection
@features_1289_p
@features_1289_p
In addition to the settings already described (cipher, file_lock, ifexists, user, password), other database settings can be passed in the database URL. Adding<code>setting=value</code>at the end of an URL is the same as executing the statement<code>SET setting value</code>just after connecting. For a list of settings supported by this database please see the SQL grammar documentation.
In addition to the settings already described (cipher, file_lock, ifexists, user, password), other database settings can be passed in the database URL. Adding <code>setting=value</code> at the end of an URL is the same as executing the statement <code>SET setting value</code> just after connecting. For a list of settings supported by this database please see the SQL grammar documentation.
@features_1290_h2
@features_1290_h2
Custom File Access Mode
Custom File Access Mode
...
@@ -2171,7 +2171,7 @@ Custom File Access Mode
...
@@ -2171,7 +2171,7 @@ Custom File Access Mode
Usually, the database opens log, data and index files with the access mode 'rw', meaning read-write (except for read only databases, where the mode 'r' is used). Also supported are 'rws' and 'rwd'. The access mode used for log files is set via ACCESS_MODE_LOG; for data and index files use ACCESS_MODE_DATA. These settings must be specified in the database URL:
Usually, the database opens log, data and index files with the access mode 'rw', meaning read-write (except for read only databases, where the mode 'r' is used). Also supported are 'rws' and 'rwd'. The access mode used for log files is set via ACCESS_MODE_LOG; for data and index files use ACCESS_MODE_DATA. These settings must be specified in the database URL:
@features_1292_p
@features_1292_p
For more information see<a href="advanced.html#durability_problems">Durability Problems</a>. On many operating systems the access mode 'rws' does not guarantee that the data is written to the disk.
For more information see <a href="advanced.html#durability_problems">Durability Problems</a> . On many operating systems the access mode 'rws' does not guarantee that the data is written to the disk.
@features_1293_h2
@features_1293_h2
Multiple Connections
Multiple Connections
...
@@ -2435,7 +2435,7 @@ If the database file is corrupted, because the checksum of a record does not mat
...
@@ -2435,7 +2435,7 @@ If the database file is corrupted, because the checksum of a record does not mat
Compatibility Modes
Compatibility Modes
@features_1380_p
@features_1380_p
All database engines behave a little bit different. For certain features, this database can emulate the behavior of specific databases. Not all features or differences of those databases are implemented. Currently, this feature is mainly used for randomized comparative testing (where random statements are executed against multiple databases and the results are compared). The mode can be changed by specifying the mode in the database URL, or using the SQL statement SET MODE. To use the HSQLDB mode, you can use the database URL<code>jdbc:h2:~/test;MODE=HSQLDB</code>or the SQL statement<code>SET MODE HSQLDB</code>. Here is the list of currently supported modes and the difference to the regular mode:
All database engines behave a little bit different. For certain features, this database can emulate the behavior of specific databases. Not all features or differences of those databases are implemented. Currently, this feature is mainly used for randomized comparative testing (where random statements are executed against multiple databases and the results are compared). The mode can be changed by specifying the mode in the database URL, or using the SQL statement SET MODE. To use the HSQLDB mode, you can use the database URL <code>jdbc:h2:~/test;MODE=HSQLDB</code> or the SQL statement <code>SET MODE HSQLDB</code> . Here is the list of currently supported modes and the difference to the regular mode:
@features_1381_th
@features_1381_th
Mode
Mode
...
@@ -2489,13 +2489,13 @@ Trace Options
...
@@ -2489,13 +2489,13 @@ Trace Options
The simplest way to enable the trace option is setting it in the database URL. There are two settings, one for System.out (TRACE_LEVEL_SYSTEM_OUT) tracing, and one for file tracing (TRACE_LEVEL_FILE). The trace levels are 0 for OFF, 1 for ERROR (the default), 2 for INFO and 3 for DEBUG. A database URL with both levels set to DEBUG is:
The simplest way to enable the trace option is setting it in the database URL. There are two settings, one for System.out (TRACE_LEVEL_SYSTEM_OUT) tracing, and one for file tracing (TRACE_LEVEL_FILE). The trace levels are 0 for OFF, 1 for ERROR (the default), 2 for INFO and 3 for DEBUG. A database URL with both levels set to DEBUG is:
@features_1398_p
@features_1398_p
The trace level can be changed at runtime by executing the SQL command<code>SET TRACE_LEVEL_SYSTEM_OUT level</code>(for System.out tracing) or<code>SET TRACE_LEVEL_FILE level</code>(for file tracing). Example:
The trace level can be changed at runtime by executing the SQL command <code>SET TRACE_LEVEL_SYSTEM_OUT level</code> (for System.out tracing) or <code>SET TRACE_LEVEL_FILE level</code> (for file tracing). Example:
@features_1399_h3
@features_1399_h3
Setting the Maximum Size of the Trace File
Setting the Maximum Size of the Trace File
@features_1400_p
@features_1400_p
When using a high trace level, the trace file can get very big quickly. The size of the file can be limited by executing the SQL statement<code>SET TRACE_MAX_FILE_SIZE maximumFileSizeInMB</code>. If the log file exceeds the limit, the file is renamed to .old and a new file is created. If another .old file exists, it is deleted. The default setting is 16 MB. Example:
When using a high trace level, the trace file can get very big quickly. The size of the file can be limited by executing the SQL statement <code>SET TRACE_MAX_FILE_SIZE maximumFileSizeInMB</code> . If the log file exceeds the limit, the file is renamed to .old and a new file is created. If another .old file exists, it is deleted. The default setting is 16 MB. Example:
@features_1401_h3
@features_1401_h3
Java Code Generation
Java Code Generation
...
@@ -2600,7 +2600,7 @@ In this example, the password is hard code in the application, which is not secu
...
@@ -2600,7 +2600,7 @@ In this example, the password is hard code in the application, which is not secu
Passing the User Name and/or Password in the URL
Passing the User Name and/or Password in the URL
@features_1435_p
@features_1435_p
Instead of passing the user name as a separate parameter as in<code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test", "sa", "123");</code>the user name (and/or password) can be supplied in the URL itself:<code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test;USER=sa;PASSWORD=123");</code>The settings in the URL override the settings passed as a separate parameter.
Instead of passing the user name as a separate parameter as in <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test", "sa", "123");</code> the user name (and/or password) can be supplied in the URL itself: <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test;USER=sa;PASSWORD=123");</code> The settings in the URL override the settings passed as a separate parameter.
@features_1436_h2
@features_1436_h2
User Defined Functions and Stored Procedures
User Defined Functions and Stored Procedures
...
@@ -2717,7 +2717,7 @@ Java is also future proof: A lot of companies support Java, and it is now open s
...
@@ -2717,7 +2717,7 @@ Java is also future proof: A lot of companies support Java, and it is now open s
This software does not rely on many Java libraries or other software, to increase the portability and ease of use, and for performance reasons. For example, the encryption algorithms and many library functions are implemented in the database instead of using the existing libraries. Libraries that are not available in open source Java implementations (such as Swing) are not used or only used for specific features.
This software does not rely on many Java libraries or other software, to increase the portability and ease of use, and for performance reasons. For example, the encryption algorithms and many library functions are implemented in the database instead of using the existing libraries. Libraries that are not available in open source Java implementations (such as Swing) are not used or only used for specific features.
@frame_1000_p
@frame_1000_p
H2 (for 'Hypersonic 2') is free a Java SQL DBMS. Clustering, embedded and server mode, transactions, referential integrity, views, subqueries, triggers, encryption, and disk based or in-memory operation are supported. A browser based console application is included. If you see this page your browser does not support frames. Please click here to view the<a href="search.html">index</a>.
H2 (for 'Hypersonic 2') is free a Java SQL DBMS. Clustering, embedded and server mode, transactions, referential integrity, views, subqueries, triggers, encryption, and disk based or in-memory operation are supported. A browser based console application is included. If you see this page your browser does not support frames. Please click here to view the <a href="search.html">index</a> .
@history_1000_h1
@history_1000_h1
History and Roadmap
History and Roadmap
...
@@ -4886,10 +4886,10 @@ License
...
@@ -4886,10 +4886,10 @@ License
Summary and License FAQ
Summary and License FAQ
@license_1002_p
@license_1002_p
This license is a modified version of the MPL 1.1 available at<a href="http://www.mozilla.org/MPL">www.mozilla.org/MPL</a>, the changes are
This license is a modified version of the MPL 1.1 available at <a href="http://www.mozilla.org/MPL">www.mozilla.org/MPL</a> , the changes are
@license_1003_em
@license_1003_em
underlined</em>. There is a License FAQ section at the Mozilla web site, most of that is applicable to the H2 License as well.
underlined</em>. There is a License FAQ section at the Mozilla web site, most of that is applicable to the H2 License as well.
@license_1004_li
@license_1004_li
You can use H2 for free. You can integrate it into your application (including commercial applications), and you can distribute it.
You can use H2 for free. You can integrate it into your application (including commercial applications), and you can distribute it.
...
@@ -4955,7 +4955,7 @@ means Covered Code in any form other than Source Code.
...
@@ -4955,7 +4955,7 @@ means Covered Code in any form other than Source Code.
1.6. "Initial Developer"
1.6. "Initial Developer"
@license_1025_p
@license_1025_p
means the individual or entity identified as the Initial Developer in the Source Code notice required by<a href="#exhibit-a">Exhibit A</a>.
means the individual or entity identified as the Initial Developer in the Source Code notice required by <a href="#exhibit-a">Exhibit A</a> .
@license_1026_b
@license_1026_b
1.7. "Larger Work"
1.7. "Larger Work"
...
@@ -4991,7 +4991,7 @@ means any addition to or deletion from the substance or structure of either the
...
@@ -4991,7 +4991,7 @@ means any addition to or deletion from the substance or structure of either the
1.10. "Original Code"
1.10. "Original Code"
@license_1037_p
@license_1037_p
means Source Code of computer software code which is described in the Source Code notice required by<a href="#exhibit-a">Exhibit A</a>as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
means Source Code of computer software code which is described in the Source Code notice required by <a href="#exhibit-a">Exhibit A</a> as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
@license_1038_b
@license_1038_b
1.10.1. "Patent Claims"
1.10.1. "Patent Claims"
...
@@ -5009,7 +5009,7 @@ means the preferred form of the Covered Code for making modifications to it, in
...
@@ -5009,7 +5009,7 @@ means the preferred form of the Covered Code for making modifications to it, in
1.12. "You" (or "Your")
1.12. "You" (or "Your")
@license_1043_p
@license_1043_p
means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under<a href="#section-6.1">Section 6.1.</a>For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under <a href="#section-6.1">Section 6.1.</a> For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
@license_1044_h3
@license_1044_h3
2. Source Code License
2. Source Code License
...
@@ -5027,10 +5027,10 @@ The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusiv
...
@@ -5027,10 +5027,10 @@ The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusiv
2.1.b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
2.1.b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
@license_1049_p
@license_1049_p
2.1.c. the licenses granted in this Section 2.1 (<a href="#section-2.1-a">a</a>) and (<a href="#section-2.1-b">b</a>) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
2.1.c. the licenses granted in this Section 2.1 ( <a href="#section-2.1-a">a</a> ) and ( <a href="#section-2.1-b">b</a> ) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
@license_1050_p
@license_1050_p
2.1.d. Notwithstanding Section 2.1 (<a href="#section-2.1-b">b</a>) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
2.1.d. Notwithstanding Section 2.1 ( <a href="#section-2.1-b">b</a> ) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
@license_1051_h4
@license_1051_h4
2.2. Contributor Grant
2.2. Contributor Grant
...
@@ -5045,10 +5045,10 @@ Subject to third party intellectual property claims, each Contributor hereby gra
...
@@ -5045,10 +5045,10 @@ Subject to third party intellectual property claims, each Contributor hereby gra
2.2.b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
2.2.b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
@license_1055_p
@license_1055_p
2.2.c. the licenses granted in Sections 2.2 (<a href="#section-2.2-a">a</a>) and 2.2 (<a href="#section-2.2-b">b</a>) are effective on the date Contributor first makes Commercial Use of the Covered Code.
2.2.c. the licenses granted in Sections 2.2 ( <a href="#section-2.2-a">a</a> ) and 2.2 ( <a href="#section-2.2-b">b</a> ) are effective on the date Contributor first makes Commercial Use of the Covered Code.
@license_1056_p
@license_1056_p
2.2.c. Notwithstanding Section 2.2 (<a href="#section-2.2-b">b</a>) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
2.2.c. Notwithstanding Section 2.2 ( <a href="#section-2.2-b">b</a> ) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
@license_1057_h3
@license_1057_h3
3. Distribution Obligations
3. Distribution Obligations
...
@@ -5057,7 +5057,7 @@ Subject to third party intellectual property claims, each Contributor hereby gra
...
@@ -5057,7 +5057,7 @@ Subject to third party intellectual property claims, each Contributor hereby gra
3.1. Application of License
3.1. Application of License
@license_1059_p
@license_1059_p
The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section<a href="#section-2.2">2.2</a>. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section<a href="#section-6.1">6.1</a>, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section<a href="#section-3.5">3.5</a>.
The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section <a href="#section-2.2">2.2</a> . The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section <a href="#section-6.1">6.1</a> , and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section <a href="#section-3.5">3.5</a> .
@license_1060_h4
@license_1060_h4
3.2. Availability of Source Code
3.2. Availability of Source Code
...
@@ -5078,7 +5078,7 @@ You must cause all Covered Code to which You contribute to contain a file docume
...
@@ -5078,7 +5078,7 @@ You must cause all Covered Code to which You contribute to contain a file docume
3.4.a. Third Party Claims:
3.4.a. Third Party Claims:
@license_1066_p
@license_1066_p
If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections<a href="#section-2.1">2.1</a>or<a href="#section-2.2">2.2</a>, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section<a href="#section-3.2">3.2</a>, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections <a href="#section-2.1">2.1</a> or <a href="#section-2.2">2.2</a> , Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section <a href="#section-3.2">3.2</a> , Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
@license_1067_b
@license_1067_b
3.4.b. Contributor APIs:
3.4.b. Contributor APIs:
...
@@ -5090,19 +5090,19 @@ If Contributor's Modifications include an application programming interface and
...
@@ -5090,19 +5090,19 @@ If Contributor's Modifications include an application programming interface and
3.4.c. Representations:
3.4.c. Representations:
@license_1070_p
@license_1070_p
Contributor represents that, except as disclosed pursuant to Section 3.4 (<a href="#section-3.4-a">a</a>) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
Contributor represents that, except as disclosed pursuant to Section 3.4 ( <a href="#section-3.4-a">a</a> ) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
@license_1071_h4
@license_1071_h4
3.5. Required Notices
3.5. Required Notices
@license_1072_p
@license_1072_p
You must duplicate the notice in<a href="#exhibit-a">Exhibit A</a>in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in<a href="#exhibit-a">Exhibit A</a>. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
You must duplicate the notice in <a href="#exhibit-a">Exhibit A</a> in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in <a href="#exhibit-a">Exhibit A</a> . You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
@license_1073_h4
@license_1073_h4
3.6. Distribution of Executable Versions
3.6. Distribution of Executable Versions
@license_1074_p
@license_1074_p
You may distribute Covered Code in Executable form only if the requirements of Sections<a href="#section-3.1">3.1</a>,<a href="#section-3.2">3.2</a>,<a href="#section-3.3">3.3</a>,<a href="#section-3.4">3.4</a>and<a href="#section-3.5">3.5</a>have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section<a href="#section-3.2">3.2</a>. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
You may distribute Covered Code in Executable form only if the requirements of Sections <a href="#section-3.1">3.1</a> , <a href="#section-3.2">3.2</a> , <a href="#section-3.3">3.3</a> , <a href="#section-3.4">3.4</a> and <a href="#section-3.5">3.5</a> have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section <a href="#section-3.2">3.2</a> . The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
@license_1075_h4
@license_1075_h4
3.7. Larger Works
3.7. Larger Works
...
@@ -5114,13 +5114,13 @@ You may create a Larger Work by combining Covered Code with other code not gover
...
@@ -5114,13 +5114,13 @@ You may create a Larger Work by combining Covered Code with other code not gover
4. Inability to Comply Due to Statute or Regulation.
4. Inability to Comply Due to Statute or Regulation.
@license_1078_p
@license_1078_p
If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the<b>legal</b>file described in Section<a href="#section-3.4">3.4</a>and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the <b>legal</b> file described in Section <a href="#section-3.4">3.4</a> and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
@license_1079_h3
@license_1079_h3
5. Application of this License.
5. Application of this License.
@license_1080_p
@license_1080_p
This License applies to code to which the Initial Developer has attached the notice in<a href="#exhibit-a">Exhibit A</a>and to related Covered Code.
This License applies to code to which the Initial Developer has attached the notice in <a href="#exhibit-a">Exhibit A</a> and to related Covered Code.
@license_1081_h3
@license_1081_h3
6. Versions of the License.
6. Versions of the License.
...
@@ -5132,7 +5132,7 @@ This License applies to code to which the Initial Developer has attached the not
...
@@ -5132,7 +5132,7 @@ This License applies to code to which the Initial Developer has attached the not
The
The
@license_1084_em
@license_1084_em
H2 Group</em>may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
H2 Group</em>may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
@license_1085_h4
@license_1085_h4
6.2. Effect of New Versions
6.2. Effect of New Versions
...
@@ -5141,10 +5141,10 @@ H2 Group</em>may publish revised and/or new versions of the License from time to
...
@@ -5141,10 +5141,10 @@ H2 Group</em>may publish revised and/or new versions of the License from time to
Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the
Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the
@license_1087_em
@license_1087_em
H2 Group</em>. No one other than the
H2 Group</em>. No one other than the
@license_1088_em
@license_1088_em
H2 Group</em>has the right to modify the terms applicable to Covered Code created under this License.
H2 Group</em>has the right to modify the terms applicable to Covered Code created under this License.
@license_1089_h4
@license_1089_h4
6.3. Derivative Works
6.3. Derivative Works
...
@@ -5153,10 +5153,10 @@ H2 Group</em>has the right to modify the terms applicable to Covered Code create
...
@@ -5153,10 +5153,10 @@ H2 Group</em>has the right to modify the terms applicable to Covered Code create
If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases
If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases
@license_1091_em
@license_1091_em
"H2 Group", "H2"</em>or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the
"H2 Group", "H2"</em>or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the
@license_1092_em
@license_1092_em
H2 License</em>. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in<a href="#exhibit-a">Exhibit A</a>shall not of themselves be deemed to be modifications of this License.)
H2 License</em> . (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in <a href="#exhibit-a">Exhibit A</a> shall not of themselves be deemed to be modifications of this License.)
@license_1093_h3
@license_1093_h3
7. Disclaimer of Warranty
7. Disclaimer of Warranty
...
@@ -5174,16 +5174,16 @@ Covered code is provided under this license on an "as is" basis, without warrant
...
@@ -5174,16 +5174,16 @@ Covered code is provided under this license on an "as is" basis, without warrant
8.2. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
8.2. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
@license_1098_p
@license_1098_p
8.2.a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections<a href="#section-2.1">2.1</a>and/or<a href="#section-2.2">2.2</a>of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections<a href="#section-2.1">2.1</a>and/or<a href="#section-2.2">2.2</a>automatically terminate at the expiration of the 60 day notice period specified above.
8.2.a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections <a href="#section-2.1">2.1</a> and/or <a href="#section-2.2">2.2</a> of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections <a href="#section-2.1">2.1</a> and/or <a href="#section-2.2">2.2</a> automatically terminate at the expiration of the 60 day notice period specified above.
@license_1099_p
@license_1099_p
8.2.b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(<a href="#section-2.1-b">b</a>) and 2.2(<a href="#section-2.2-b">b</a>) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
8.2.b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1( <a href="#section-2.1-b">b</a> ) and 2.2( <a href="#section-2.2-b">b</a> ) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
@license_1100_p
@license_1100_p
8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections<a href="#section-2.1">2.1</a>or<a href="#section-2.2">2.2</a>shall be taken into account in determining the amount or value of any payment or license.
8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections <a href="#section-2.1">2.1</a> or <a href="#section-2.2">2.2</a> shall be taken into account in determining the amount or value of any payment or license.
@license_1101_p
@license_1101_p
8.4. In the event of termination under Sections<a href="#section-8.1">8.1</a>or<a href="#section-8.2">8.2</a>above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
8.4. In the event of termination under Sections <a href="#section-8.1">8.1</a> or <a href="#section-8.2">8.2</a> above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
@license_1102_h3
@license_1102_h3
9. Limitation of Liability
9. Limitation of Liability
...
@@ -5204,13 +5204,13 @@ The Covered Code is a "commercial item", as that term is defined in 48 C.F.R. 2.
...
@@ -5204,13 +5204,13 @@ The Covered Code is a "commercial item", as that term is defined in 48 C.F.R. 2.
This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by
This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by
@license_1108_em
@license_1108_em
Swiss</em>law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in
Swiss</em>law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in
@license_1109_em
@license_1109_em
Switzerland</em>, any litigation relating to this License shall be subject to the jurisdiction of
Switzerland</em>, any litigation relating to this License shall be subject to the jurisdiction of
@license_1110_em
@license_1110_em
Switzerland</em>, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
Switzerland</em>, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
@license_1111_h3
@license_1111_h3
12. Responsibility for Claims
12. Responsibility for Claims
...
@@ -5222,7 +5222,7 @@ As between Initial Developer and the Contributors, each party is responsible for
...
@@ -5222,7 +5222,7 @@ As between Initial Developer and the Contributors, each party is responsible for
13. Multiple-Licensed Code
13. Multiple-Licensed Code
@license_1114_p
@license_1114_p
Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this or the alternative licenses, if any, specified by the Initial Developer in the file described in<a href="#exhibit-a">Exhibit A</a>.
Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this or the alternative licenses, if any, specified by the Initial Developer in the file described in <a href="#exhibit-a">Exhibit A</a> .
@license_1115_h3
@license_1115_h3
Exhibit A
Exhibit A
...
@@ -5279,7 +5279,7 @@ Or send an e-mail to:
...
@@ -5279,7 +5279,7 @@ Or send an e-mail to:
Performance
Performance
@mainWeb_1017_td
@mainWeb_1017_td
Operations/second (higher is better) -<a href="performance.html">More information about this test</a>
Operations/second (higher is better) -<a href="performance.html">More information about this test</a>
@mainWeb_1018_td
@mainWeb_1018_td
...
@@ -5291,13 +5291,13 @@ News
...
@@ -5291,13 +5291,13 @@ News
Newsfeeds:
Newsfeeds:
@mainWeb_1021_p
@mainWeb_1021_p
Two are available:<a href="http://www.h2database.com/html/newsfeed-atom.xml" target="_blank">Full text (Atom)</a>and<a href="http://www.h2database.com/html/newsfeed-rss.xml" target="_blank">Header only (RSS)</a>.
Two are available: <a href="http://www.h2database.com/html/newsfeed-atom.xml" target="_blank">Full text (Atom)</a> and <a href="http://www.h2database.com/html/newsfeed-rss.xml" target="_blank">Header only (RSS)</a> .
@mainWeb_1022_b
@mainWeb_1022_b
Email Newsletter:
Email Newsletter:
@mainWeb_1023_form
@mainWeb_1023_form
Subscribe to<a href="http://groups.google.com/group/h2database-news/subscribe">H2 Database News (Google account required)</a>to get informed about new releases. Your email address is only used in this context. If you don't want a Google account, there is a manually maintained list as well:
Subscribe to <a href="http://groups.google.com/group/h2database-news/subscribe">H2 Database News (Google account required)</a> to get informed about new releases. Your email address is only used in this context. If you don't want a Google account, there is a manually maintained list as well:
@mainWeb_1024_form
@mainWeb_1024_form
Email:
Email:
...
@@ -6497,7 +6497,7 @@ Application Profiling
...
@@ -6497,7 +6497,7 @@ Application Profiling
Analyze First
Analyze First
@performance_1382_p
@performance_1382_p
Before trying to optimize the performance, it is important to know where the time is actually spent. The same is true for memory problems. Premature or 'blind' optimization should be avoided, as it is not an efficient way to solve the problem. There are various ways to analyze the application. In some situations it is possible to compare two implementations and use System.currentTimeMillis() to find out which one is faster. But this does not work for complex applications with many modules, and for memory problems. A very good tool to measure both the memory and the CPU is the<a href="http://www.yourkit.com">YourKit Java Profiler</a>. This tool is also used to optimize the performance and memory footprint of this database engine.
Before trying to optimize the performance, it is important to know where the time is actually spent. The same is true for memory problems. Premature or 'blind' optimization should be avoided, as it is not an efficient way to solve the problem. There are various ways to analyze the application. In some situations it is possible to compare two implementations and use System.currentTimeMillis() to find out which one is faster. But this does not work for complex applications with many modules, and for memory problems. A very good tool to measure both the memory and the CPU is the <a href="http://www.yourkit.com">YourKit Java Profiler</a> . This tool is also used to optimize the performance and memory footprint of this database engine.
@performance_1383_h2
@performance_1383_h2
Database Performance Tuning
Database Performance Tuning
...
@@ -6512,7 +6512,7 @@ Some virus scanners scan files every time they are accessed. It is very importan
...
@@ -6512,7 +6512,7 @@ Some virus scanners scan files every time they are accessed. It is very importan
Using the Trace Options
Using the Trace Options
@performance_1387_p
@performance_1387_p
If the main performance hot spots are in the database engine, in many cases the performance can be optimized by creating additional indexes, or changing the schema. Sometimes the application does not directly generate the SQL statements, for example if an O/R mapping tool is used. To view the SQL statements and JDBC API calls, you can use the trace options. For more information, see<a href="features.html#trace_options">Using the Trace Options</a>.
If the main performance hot spots are in the database engine, in many cases the performance can be optimized by creating additional indexes, or changing the schema. Sometimes the application does not directly generate the SQL statements, for example if an O/R mapping tool is used. To view the SQL statements and JDBC API calls, you can use the trace options. For more information, see <a href="features.html#trace_options">Using the Trace Options</a> .
@performance_1388_h3
@performance_1388_h3
Index Usage
Index Usage
...
@@ -6566,13 +6566,13 @@ Embedding H2 in an Application
...
@@ -6566,13 +6566,13 @@ Embedding H2 in an Application
This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to:
This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to:
@quickstartText_1005_li
@quickstartText_1005_li
Add<code>h2.jar</code>to the classpath
Add <code>h2.jar</code> to the classpath
@quickstartText_1006_li
@quickstartText_1006_li
Use the JDBC driver class:<code>org.h2.Driver</code>
Use the JDBC driver class:<code>org.h2.Driver</code>
@quickstartText_1007_li
@quickstartText_1007_li
The database URL<code>jdbc:h2:~/test</code>opens the database 'test' in your user home directory
The database URL <code>jdbc:h2:~/test</code> opens the database 'test' in your user home directory
@quickstartText_1008_h2
@quickstartText_1008_h2
The H2 Console Application
The H2 Console Application
...
@@ -6581,7 +6581,7 @@ The H2 Console Application
...
@@ -6581,7 +6581,7 @@ The H2 Console Application
The Console lets you access a SQL database using a browser interface.
The Console lets you access a SQL database using a browser interface.
@quickstartText_1010_p
@quickstartText_1010_p
If you don't have Windows XP, or if something does not work as expected, please see the detailed description in the<a href="tutorial.html">Tutorial</a>.
If you don't have Windows XP, or if something does not work as expected, please see the detailed description in the <a href="tutorial.html">Tutorial</a> .
@quickstartText_1011_h3
@quickstartText_1011_h3
Step-by-Step
Step-by-Step
...
@@ -6596,7 +6596,7 @@ Install the software using the Windows Installer (if you did not yet do that).
...
@@ -6596,7 +6596,7 @@ Install the software using the Windows Installer (if you did not yet do that).
Select <span class="button">Generic H2</span> and click <span class="button">Connect</span> :
@quickstartText_1020_p
@quickstartText_1020_p
You are now logged in.
You are now logged in.
...
@@ -6617,7 +6617,7 @@ You are now logged in.
...
@@ -6617,7 +6617,7 @@ You are now logged in.
Sample
Sample
@quickstartText_1022_p
@quickstartText_1022_p
Click on the<span class="button">Sample SQL Script</span>:
Click on the <span class="button">Sample SQL Script</span> :
@quickstartText_1023_p
@quickstartText_1023_p
The SQL commands appear in the command area.
The SQL commands appear in the command area.
...
@@ -6626,7 +6626,7 @@ The SQL commands appear in the command area.
...
@@ -6626,7 +6626,7 @@ The SQL commands appear in the command area.
Execute
Execute
@quickstartText_1025_p
@quickstartText_1025_p
Click<span class="button">Run</span>:
Click <span class="button">Run</span> :
@quickstartText_1026_p
@quickstartText_1026_p
On the left side, a new entry TEST is added below the database icon. The operations and results of the statements are shown below the script.
On the left side, a new entry TEST is added below the database icon. The operations and results of the statements are shown below the script.
...
@@ -6635,7 +6635,7 @@ On the left side, a new entry TEST is added below the database icon. The operati
...
@@ -6635,7 +6635,7 @@ On the left side, a new entry TEST is added below the database icon. The operati
Disconnect
Disconnect
@quickstartText_1028_p
@quickstartText_1028_p
Click on<span class="button">Disconnect</span>:
Click on <span class="button">Disconnect</span> :
@quickstartText_1029_p
@quickstartText_1029_p
to close the database.
to close the database.
...
@@ -6644,7 +6644,7 @@ to close the database.
...
@@ -6644,7 +6644,7 @@ to close the database.
End
End
@quickstartText_1031_p
@quickstartText_1031_p
Close the console window. For more information, see the<a href="tutorial.html">Tutorial</a>.
Close the console window. For more information, see the <a href="tutorial.html">Tutorial</a> .
@search_1000_b
@search_1000_b
Search:
Search:
...
@@ -6812,7 +6812,7 @@ If you get an error message, you may need to add the Java binary directory to th
...
@@ -6812,7 +6812,7 @@ If you get an error message, you may need to add the Java binary directory to th
Error Message 'Port is in use'
Error Message 'Port is in use'
@tutorial_1035_p
@tutorial_1035_p
You can only start one instance of the H2 Console, otherwise you will get the following error message:<code>Port is in use, maybe another ... server already running on...</code>. It is possible to start multiple console applications on the same computer (using different ports), but this is usually not required as the console supports multiple concurrent connections.
You can only start one instance of the H2 Console, otherwise you will get the following error message: <code>Port is in use, maybe another ... server already running on...</code> . It is possible to start multiple console applications on the same computer (using different ports), but this is usually not required as the console supports multiple concurrent connections.
@tutorial_1036_h3
@tutorial_1036_h3
Using another Port
Using another Port
...
@@ -6845,7 +6845,7 @@ Multiple concurrent browser sessions are supported. As that the database objects
...
@@ -6845,7 +6845,7 @@ Multiple concurrent browser sessions are supported. As that the database objects
Application Properties
Application Properties
@tutorial_1046_p
@tutorial_1046_p
Starting the server will create a configuration file in you local home directory called<code>.h2.server.properties</code>. For Windows installations, this file will be in the directory<code>C:\Documents and Settings\[username]</code>. This file contains the settings of the application.
Starting the server will create a configuration file in you local home directory called <code>.h2.server.properties</code> . For Windows installations, this file will be in the directory <code>C:\Documents and Settings\[username]</code> . This file contains the settings of the application.
@tutorial_1047_h3
@tutorial_1047_h3
Login
Login
...
@@ -6902,7 +6902,7 @@ Connecting to a Database using JDBC
...
@@ -6902,7 +6902,7 @@ Connecting to a Database using JDBC
To connect to a database, a Java application first needs to load the database driver, and then get a connection. A simple way to do that is using the following code:
To connect to a database, a Java application first needs to load the database driver, and then get a connection. A simple way to do that is using the following code:
@tutorial_1065_p
@tutorial_1065_p
This code first loads the driver (<code>Class.forName()</code>) and then opens a connection (using<code>DriverManager.getConnection()</code>). The driver name is<code>"org.h2.Driver"</code>in every case. The database URL always needs to start with<code>jdbc:h2:</code>to be recognized by this database. The second parameter in the<code>getConnection()</code>call is the user name ('sa' for System Administrator in this example). The third parameter is the password. Please note that in this database, user names are not case sensitive, but passwords are case sensitive.
This code first loads the driver ( <code>Class.forName()</code> ) and then opens a connection (using <code>DriverManager.getConnection()</code> ). The driver name is <code>"org.h2.Driver"</code> in every case. The database URL always needs to start with <code>jdbc:h2:</code> to be recognized by this database. The second parameter in the <code>getConnection()</code> call is the user name ('sa' for System Administrator in this example). The third parameter is the password. Please note that in this database, user names are not case sensitive, but passwords are case sensitive.
advanced_1077_p=The two phase commit protocol is supported. 2-phase-commit works as follows\:
advanced_1077_p=The two phase commit protocol is supported. 2-phase-commit works as follows\:
advanced_1078_li=Autocommit needs to be switched off
advanced_1078_li=Autocommit needs to be switched off
advanced_1079_li=A transaction is started, for example by inserting a row
advanced_1079_li=A transaction is started, for example by inserting a row
advanced_1080_li=The transaction is marked 'prepared' by executing the SQL statement<code>PREPARE COMMIT transactionName</code>
advanced_1080_li=The transaction is marked 'prepared' by executing the SQL statement<code>PREPARE COMMIT transactionName</code>
advanced_1081_li=The transaction can now be committed or rolled back
advanced_1081_li=The transaction can now be committed or rolled back
advanced_1082_li=If a problem occurs before the transaction was successfully committed or rolled back (for example because a network problem occurred), the transaction is in the state 'in-doubt'
advanced_1082_li=If a problem occurs before the transaction was successfully committed or rolled back (for example because a network problem occurred), the transaction is in the state 'in-doubt'
advanced_1083_li=When re-connecting to the database, the in-doubt transactions can be listed with<code>SELECT * FROM INFORMATION_SCHEMA.IN_DOUBT</code>
advanced_1083_li=When re-connecting to the database, the in-doubt transactions can be listed with<code>SELECT * FROM INFORMATION_SCHEMA.IN_DOUBT</code>
advanced_1084_li=Each transaction in this list must now be committed or rolled back by executing<code>COMMIT TRANSACTION transactionName</code>or<code>ROLLBACK TRANSACTION transactionName</code>
advanced_1084_li=Each transaction in this list must now be committed or rolled back by executing <code>COMMIT TRANSACTION transactionName</code> or <code>ROLLBACK TRANSACTION transactionName</code>
advanced_1085_li=The database needs to be closed and re-opened to apply the changes
advanced_1085_li=The database needs to be closed and re-opened to apply the changes
advanced_1086_h2=Compatibility
advanced_1086_h2=Compatibility
advanced_1087_p=This database is (up to a certain point) compatible to other databases such as HSQLDB, MySQL and PostgreSQL. There are certain areas where H2 is incompatible.
advanced_1087_p=This database is (up to a certain point) compatible to other databases such as HSQLDB, MySQL and PostgreSQL. There are certain areas where H2 is incompatible.
...
@@ -93,7 +93,7 @@ advanced_1091_p=There is a list of keywords that can't be used as identifiers (t
...
@@ -93,7 +93,7 @@ advanced_1091_p=There is a list of keywords that can't be used as identifiers (t
advanced_1092_p=CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE, CROSS, DISTINCT, EXCEPT, EXISTS, FROM, FOR, FALSE, FULL, GROUP, HAVING, INNER, INTERSECT, IS, JOIN, LIKE, MINUS, NATURAL, NOT, NULL, ON, ORDER, PRIMARY, ROWNUM, SELECT, SYSDATE, SYSTIME, SYSTIMESTAMP, TODAY, TRUE, UNION, WHERE
advanced_1092_p=CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE, CROSS, DISTINCT, EXCEPT, EXISTS, FROM, FOR, FALSE, FULL, GROUP, HAVING, INNER, INTERSECT, IS, JOIN, LIKE, MINUS, NATURAL, NOT, NULL, ON, ORDER, PRIMARY, ROWNUM, SELECT, SYSDATE, SYSTIME, SYSTIMESTAMP, TODAY, TRUE, UNION, WHERE
advanced_1093_p=Certain words of this list are keywords because they are functions that can be used without '()' for compatibility, for example CURRENT_TIMESTAMP.
advanced_1093_p=Certain words of this list are keywords because they are functions that can be used without '()' for compatibility, for example CURRENT_TIMESTAMP.
advanced_1094_h2=Run as Windows Service
advanced_1094_h2=Run as Windows Service
advanced_1095_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 Tanuki Software, Inc. (<a href\="http\://wrapper.tanukisoftware.org">http\://wrapper.tanukisoftware.org</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 H2/service.
advanced_1095_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 Tanuki Software, Inc. ( <a href\="http\://wrapper.tanukisoftware.org">http\://wrapper.tanukisoftware.org</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 H2/service.
advanced_1096_h3=Install the Service
advanced_1096_h3=Install the Service
advanced_1097_p=The service needs to be registered as a Windows Service first. To do that, double click on 1_install_service.bat. If successful, a command prompt window will pop up and disappear immediately. If not, a message will appear.
advanced_1097_p=The service needs to be registered as a Windows Service first. To do that, double click on 1_install_service.bat. If successful, a command prompt window will pop up and disappear immediately. If not, a message will appear.
advanced_1098_h3=Start the Service
advanced_1098_h3=Start the Service
...
@@ -107,14 +107,14 @@ advanced_1105_p=To uninstall the service, double click on 5_uninstall_service.ba
...
@@ -107,14 +107,14 @@ advanced_1105_p=To uninstall the service, double click on 5_uninstall_service.ba
advanced_1106_h2=ODBC Driver
advanced_1106_h2=ODBC Driver
advanced_1107_p=This database does not come with its own ODBC driver at this time, but it supports the PostgreSQL network protocol. Therefore, the PostgreSQL ODBC driver can be used. Support for the PostgreSQL network protocol is quite new and should be viewed as experimental. It should not be used for production applications.
advanced_1107_p=This database does not come with its own ODBC driver at this time, but it supports the PostgreSQL network protocol. Therefore, the PostgreSQL ODBC driver can be used. Support for the PostgreSQL network protocol is quite new and should be viewed as experimental. It should not be used for production applications.
advanced_1108_h3=ODBC Installation
advanced_1108_h3=ODBC Installation
advanced_1109_p=First, the ODBC driver must be installed. Any recent PostgreSQL ODBC driver should work, however version 8.2.4 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>.
advanced_1109_p=First, the ODBC driver must be installed. Any recent PostgreSQL ODBC driver should work, however version 8.2.4 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> .
advanced_1110_h3=Starting the Server
advanced_1110_h3=Starting the Server
advanced_1111_p=After installing the ODBC driver, start the H2 Server using the command line\:
advanced_1111_p=After installing the ODBC driver, start the H2 Server using the command line\:
advanced_1112_p=The PG Server (PG for PostgreSQL protocol) is started as well. By default, databases are stored in the current working directory where the server is started. Use -baseDir to save databases in another directory, for example the user home directory\:
advanced_1112_p=The PG Server (PG for PostgreSQL protocol) is started as well. By default, databases are stored in the current working directory where the server is started. Use -baseDir to save databases in another directory, for example the user home directory\:
advanced_1113_p=The PG server can be started and stopped from within a Java application as follows\:
advanced_1113_p=The PG server can be started and stopped from within a Java application as follows\:
advanced_1114_p=By default, only connections from localhost are allowed. To allow remote connections, use<code>-pgAllowOthers true</code>when starting the server.
advanced_1114_p=By default, only connections from localhost are allowed. To allow remote connections, use <code>-pgAllowOthers true</code> when starting the server.
advanced_1115_h3=ODBC Configuration
advanced_1115_h3=ODBC Configuration
advanced_1116_p=After installing the driver, a new Data Source must be added. In Windows, run<code>odbcad32.exe</code>to open the Data Source Administrator. Then click on 'Add...' and select the PostgreSQL Unicode driver. Then click 'Finish'. You will be able to change the connection properties\:
advanced_1116_p=After installing the driver, a new Data Source must be added. In Windows, run <code>odbcad32.exe</code> to open the Data Source Administrator. Then click on 'Add...' and select the PostgreSQL Unicode driver. Then click 'Finish'. You will be able to change the connection properties\:
advanced_1117_th=Property
advanced_1117_th=Property
advanced_1118_th=Example
advanced_1118_th=Example
advanced_1119_th=Remarks
advanced_1119_th=Remarks
...
@@ -227,7 +227,7 @@ advanced_1225_p=Therefore, the block cipher modes of operation is CBC (Cipher-bl
...
@@ -227,7 +227,7 @@ advanced_1225_p=Therefore, the block cipher modes of operation is CBC (Cipher-bl
advanced_1226_p=Database encryption is meant for securing the database while it is not in use (stolen laptop and so on). It is not meant for cases where the attacker has access to files while the database is in use. When he has write access, he can for example replace pieces of files with pieces of older versions and manipulate data like this.
advanced_1226_p=Database encryption is meant for securing the database while it is not in use (stolen laptop and so on). It is not meant for cases where the attacker has access to files while the database is in use. When he has write access, he can for example replace pieces of files with pieces of older versions and manipulate data like this.
advanced_1227_p=File encryption slows down the performance of the database engine. Compared to unencrypted mode, database operations take about 2.2 times longer when using XTEA, and 2.5 times longer using AES (embedded mode).
advanced_1227_p=File encryption slows down the performance of the database engine. Compared to unencrypted mode, database operations take about 2.2 times longer when using XTEA, and 2.5 times longer using AES (embedded mode).
advanced_1228_h3=SSL/TLS Connections
advanced_1228_h3=SSL/TLS Connections
advanced_1229_p=Remote SSL/TLS connections are supported using the Java Secure Socket Extension (SSLServerSocket / SSLSocket). By default, anonymous SSL is enabled. The default cipher suite is<code>SSL_DH_anon_WITH_RC4_128_MD5</code>.
advanced_1229_p=Remote SSL/TLS connections are supported using the Java Secure Socket Extension (SSLServerSocket / SSLSocket). By default, anonymous SSL is enabled. The default cipher suite is <code>SSL_DH_anon_WITH_RC4_128_MD5</code> .
advanced_1230_h3=HTTPS Connections
advanced_1230_h3=HTTPS Connections
advanced_1231_p=The web server supports HTTP and HTTPS connections using SSLServerSocket. There is a default self-certified certificate to support an easy starting point, but custom certificates are supported as well.
advanced_1231_p=The web server supports HTTP and HTTPS connections using SSLServerSocket. There is a default self-certified certificate to support an easy starting point, but custom certificates are supported as well.
@@ -318,29 +318,29 @@ advanced_1316_h2=Glossary and Links
...
@@ -318,29 +318,29 @@ advanced_1316_h2=Glossary and Links
advanced_1317_th=Term
advanced_1317_th=Term
advanced_1318_th=Description
advanced_1318_th=Description
advanced_1319_td=AES-128
advanced_1319_td=AES-128
advanced_1320_td=A block encryption algorithm. See also\:<a href\="http\://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia\:AES</a>
advanced_1320_td=A block encryption algorithm. See also\:<a href\="http\://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia\:AES</a>
advanced_1321_td=Birthday Paradox
advanced_1321_td=Birthday Paradox
advanced_1322_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>
advanced_1322_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>
advanced_1323_td=Digest
advanced_1323_td=Digest
advanced_1324_td=Protocol to protect a password (but not to protect data). See also\:<a href\="http\://www.faqs.org/rfcs/rfc2617.html">RFC 2617\:HTTP Digest Access Authentication</a>
advanced_1324_td=Protocol to protect a password (but not to protect data). See also\:<a href\="http\://www.faqs.org/rfcs/rfc2617.html">RFC 2617\:HTTP Digest Access Authentication</a>
advanced_1325_td=GCJ
advanced_1325_td=GCJ
advanced_1326_td=GNU Compiler for Java.<a href\="http\://gcc.gnu.org/java/">http\://gcc.gnu.org/java/</a>and<a href\="http\://nativej.mtsystems.ch">http\://nativej.mtsystems.ch/ (not free any more)</a>
advanced_1326_td=GNU Compiler for Java. <a href\="http\://gcc.gnu.org/java/">http\://gcc.gnu.org/java/</a> and <a href\="http\://nativej.mtsystems.ch">http\://nativej.mtsystems.ch/ (not free any more)</a>
advanced_1327_td=HTTPS
advanced_1327_td=HTTPS
advanced_1328_td=A protocol to provide security to HTTP connections. See also\:<a href\="http\://www.ietf.org/rfc/rfc2818.txt">RFC 2818\:HTTP Over TLS</a>
advanced_1328_td=A protocol to provide security to HTTP connections. See also\:<a href\="http\://www.ietf.org/rfc/rfc2818.txt">RFC 2818\:HTTP Over TLS</a>
advanced_1329_td=Modes of Operation
advanced_1329_td=Modes of Operation
advanced_1330_a=Wikipedia\:Block cipher modes of operation
advanced_1330_a=Wikipedia\:Block cipher modes of operation
advanced_1331_td=Salt
advanced_1331_td=Salt
advanced_1332_td=Random number to increase the security of passwords. See also\:<a href\="http\://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia\:Key derivation function</a>
advanced_1332_td=Random number to increase the security of passwords. See also\:<a href\="http\://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia\:Key derivation function</a>
advanced_1333_td=SHA-256
advanced_1333_td=SHA-256
advanced_1334_td=A cryptographic one-way hash function. See also\:<a href\="http\://en.wikipedia.org/wiki/SHA_family">Wikipedia\:SHA hash functions</a>
advanced_1334_td=A cryptographic one-way hash function. See also\:<a href\="http\://en.wikipedia.org/wiki/SHA_family">Wikipedia\:SHA hash functions</a>
advanced_1335_td=SQL Injection
advanced_1335_td=SQL Injection
advanced_1336_td=A security vulnerability where an application generates SQL statements with embedded user input. See also\:<a href\="http\://en.wikipedia.org/wiki/SQL_injection">Wikipedia\:SQL Injection</a>
advanced_1336_td=A security vulnerability where an application generates SQL statements with embedded user input. See also\:<a href\="http\://en.wikipedia.org/wiki/SQL_injection">Wikipedia\:SQL Injection</a>
advanced_1337_td=Watermark Attack
advanced_1337_td=Watermark Attack
advanced_1338_td=Security problem of certain encryption programs where the existence of certain data can be proven without decrypting. For more information, search in the internet for 'watermark attack cryptoloop'
advanced_1338_td=Security problem of certain encryption programs where the existence of certain data can be proven without decrypting. For more information, search in the internet for 'watermark attack cryptoloop'
advanced_1339_td=SSL/TLS
advanced_1339_td=SSL/TLS
advanced_1340_td=Secure Sockets Layer / Transport Layer Security. See also\:<a href\="http\://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
advanced_1340_td=Secure Sockets Layer / Transport Layer Security. See also\:<a href\="http\://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
advanced_1341_td=XTEA
advanced_1341_td=XTEA
advanced_1342_td=A block encryption algorithm. See also\:<a href\="http\://en.wikipedia.org/wiki/XTEA">Wikipedia\:XTEA</a>
advanced_1342_td=A block encryption algorithm. See also\:<a href\="http\://en.wikipedia.org/wiki/XTEA">Wikipedia\:XTEA</a>
download_1011_p=For details about changes, see the<a href\="history.html">Change Log</a>.
download_1011_p=For details about changes, see the <a href\="history.html">Change Log</a> .
faq_1000_h1=Frequently Asked Questions
faq_1000_h1=Frequently Asked Questions
faq_1001_a=Are there any known bugs? When is the next release?
faq_1001_a=Are there any known bugs? When is the next release?
faq_1002_a=Is this Database Engine Open Source?
faq_1002_a=Is this Database Engine Open Source?
...
@@ -403,7 +403,7 @@ faq_1020_li=If it doesn't help please report the problem.
...
@@ -403,7 +403,7 @@ faq_1020_li=If it doesn't help please report the problem.
faq_1021_h3=How to Create a New Database?
faq_1021_h3=How to Create a New Database?
faq_1022_p=By default, a new database is automatically created if it does not yet exist.
faq_1022_p=By default, a new database is automatically created if it does not yet exist.
faq_1023_h3=How to Connect to a Database?
faq_1023_h3=How to Connect to a Database?
faq_1024_p=The database driver is<code>org.h2.Driver</code>, and the database URL starts with<code>jdbc\:h2\:</code>. To connect to a database using JDBC, use the following code\:
faq_1024_p=The database driver is <code>org.h2.Driver</code> , and the database URL starts with <code>jdbc\:h2\:</code> . To connect to a database using JDBC, use the following code\:
faq_1025_h3=Where are the Database Files Stored?
faq_1025_h3=Where are the Database Files Stored?
faq_1026_p=When using database URLs like jdbc\:h2\:~/test, the database is stored in the user directory. For Windows, this is usually C\:\\Documents and Settings\\<userName>. If the base directory is not set (as in jdbc\:h2\:test), the database files are stored in the directory where the application is started (the current working directory). When using the H2 Console application from the start menu, this is [Installation Directory]/bin. The base directory can be set in the database URL. A fixed or relative path can be used. When using the URL jdbc\:h2\:file\:data/sample, the database is stored in the directory data (relative to the current working directory). The directory must exist. It is also possible to use the fully qualified directory (and for Windows, drive) name. Example\:jdbc\:h2\:file\:C\:/data/test
faq_1026_p=When using database URLs like jdbc\:h2\:~/test, the database is stored in the user directory. For Windows, this is usually C\:\\Documents and Settings\\<userName>. If the base directory is not set (as in jdbc\:h2\:test), the database files are stored in the directory where the application is started (the current working directory). When using the H2 Console application from the start menu, this is [Installation Directory]/bin. The base directory can be set in the database URL. A fixed or relative path can be used. When using the URL jdbc\:h2\:file\:data/sample, the database is stored in the directory data (relative to the current working directory). The directory must exist. It is also possible to use the fully qualified directory (and for Windows, drive) name. Example\:jdbc\:h2\:file\:C\:/data/test
faq_1027_h3=What is the Size Limit (maximum size) of a Database?
faq_1027_h3=What is the Size Limit (maximum size) of a Database?
...
@@ -689,12 +689,12 @@ features_1255_td=Changing Other Settings
...
@@ -689,12 +689,12 @@ features_1255_td=Changing Other Settings
features_1258_h3=Connecting to an Embedded (Local) Database
features_1258_h3=Connecting to an Embedded (Local) Database
features_1259_p=The database URL for connecting to a local database is<code>jdbc\:h2\:[file\:][<path>]<databaseName></code>. The prefix<code>file\:</code>is optional. If no or only a relative path is used, then the current working directory is used as a starting point. The case sensitivity of the path and database name depend on the operating system, however it is suggested to use lowercase letters only. The database name must be at least three characters long (a limitation of File.createTempFile). To point to the user home directory, use ~/, as in\:jdbc\:h2\:~/test.
features_1259_p=The database URL for connecting to a local database is <code>jdbc\:h2\:[file\:][<path>]<databaseName></code> . The prefix <code>file\:</code> is optional. If no or only a relative path is used, then the current working directory is used as a starting point. The case sensitivity of the path and database name depend on the operating system, however it is suggested to use lowercase letters only. The database name must be at least three characters long (a limitation of File.createTempFile). To point to the user home directory, use ~/, as in\:jdbc\:h2\:~/test.
features_1260_h3=Memory-Only Databases
features_1260_h3=Memory-Only Databases
features_1261_p=For certain use cases (for example\:rapid prototyping, testing, high performance operations, read-only databases), it may not be required to persist (changes to) the data at all. This database supports the memory-only mode, where the data is not persisted.
features_1261_p=For certain use cases (for example\:rapid prototyping, testing, high performance operations, read-only databases), it may not be required to persist (changes to) the data at all. This database supports the memory-only mode, where the data is not persisted.
features_1262_p=In some cases, only one connection to a memory-only database is required. This means the database to be opened is private. In this case, the database URL is<code>jdbc\:h2\:mem\:</code>Opening two connections within the same virtual machine means opening two different (private) databases.
features_1262_p=In some cases, only one connection to a memory-only database is required. This means the database to be opened is private. In this case, the database URL is <code>jdbc\:h2\:mem\:</code> Opening two connections within the same virtual machine means opening two different (private) databases.
features_1263_p=Sometimes multiple connections to the same memory-only database are required. In this case, the database URL must include a name. Example\:<code>jdbc\:h2\:mem\:db1</code>. Accessing the same database in this way only works within the same virtual machine and class loader environment.
features_1263_p=Sometimes multiple connections to the same memory-only database are required. In this case, the database URL must include a name. Example\:<code>jdbc\:h2\:mem\:db1</code> . Accessing the same database in this way only works within the same virtual machine and class loader environment.
features_1264_p=It is also possible to access a memory-only database remotely (or from multiple processes in the same machine) using TCP/IP or SSL/TLS. An example database URL is\:<code>jdbc\:h2\:tcp\://localhost/mem\:db1</code>(using private database remotely is also possible).
features_1264_p=It is also possible to access a memory-only database remotely (or from multiple processes in the same machine) using TCP/IP or SSL/TLS. An example database URL is\:<code>jdbc\:h2\:tcp\://localhost/mem\:db1</code> (using private database remotely is also possible).
features_1265_h2=Connecting to a Database with File Encryption
features_1265_h2=Connecting to a Database with File Encryption
features_1266_p=To use file encryption, it is required to specify the encryption algorithm (the 'cipher') and the file password. The algorithm needs to be specified using the connection parameter. Two algorithms are supported\:XTEA and AES. The file password is specified in the password field, before the user password. A single space needs to be added between the file password and the user password; the file password itself may not contain spaces. File passwords (as well as user passwords) are case sensitive. Here is an example to connect to a password encrypted database\:
features_1266_p=To use file encryption, it is required to specify the encryption algorithm (the 'cipher') and the file password. The algorithm needs to be specified using the connection parameter. Two algorithms are supported\:XTEA and AES. The file password is specified in the password field, before the user password. A single space needs to be added between the file password and the user password; the file password itself may not contain spaces. File passwords (as well as user passwords) are case sensitive. Here is an example to connect to a password encrypted database\:
features_1267_h2=Database File Locking
features_1267_h2=Database File Locking
...
@@ -707,11 +707,11 @@ features_1273_p=To open the database with a different file locking method, use t
...
@@ -707,11 +707,11 @@ features_1273_p=To open the database with a different file locking method, use t
features_1274_p=The following code forces the database to not create a lock file at all. Please note that this is unsafe as another process is able to open the same database, possibly leading to data corruption\:
features_1274_p=The following code forces the database to not create a lock file at all. Please note that this is unsafe as another process is able to open the same database, possibly leading to data corruption\:
features_1275_p=For more information about the algorithms please see in Advanced Topics under File Locking Protocol.
features_1275_p=For more information about the algorithms please see in Advanced Topics under File Locking Protocol.
features_1276_h2=Opening a Database Only if it Already Exists
features_1276_h2=Opening a Database Only if it Already Exists
features_1277_p=By default, when an application calls<code>DriverManager.getConnection(url,...)</code>and the database specified in the URL does not yet exist, a new (empty) database is created. In some situations, it is better to restrict creating new database, and only open the database if it already exists. This can be done by adding<code>;ifexists\=true</code>to the URL. In this case, if the database does not already exist, an exception is thrown when trying to connect. The connection only succeeds when the database already exists. The complete URL may look like this\:
features_1277_p=By default, when an application calls <code>DriverManager.getConnection(url,...)</code> and the database specified in the URL does not yet exist, a new (empty) database is created. In some situations, it is better to restrict creating new database, and only open the database if it already exists. This can be done by adding <code>;ifexists\=true</code> to the URL. In this case, if the database does not already exist, an exception is thrown when trying to connect. The connection only succeeds when the database already exists. The complete URL may look like this\:
features_1278_h2=Closing the Database
features_1278_h2=Closing the Database
features_1279_h3=Delayed Database Closing
features_1279_h3=Delayed Database Closing
features_1280_p=Usually, the database is closed when the last connection to it is closed. In some situations this slows down the application, for example when it is not possible leave the connection open. The automatic closing of the database can be delayed or disabled with the SQL statement SET DB_CLOSE_DELAY <seconds>. The seconds specifies the number of seconds to keep a database open after the last connection to it was closed. For example the following statement will keep the database open for 10 seconds\:
features_1280_p=Usually, the database is closed when the last connection to it is closed. In some situations this slows down the application, for example when it is not possible leave the connection open. The automatic closing of the database can be delayed or disabled with the SQL statement SET DB_CLOSE_DELAY <seconds>. The seconds specifies the number of seconds to keep a database open after the last connection to it was closed. For example the following statement will keep the database open for 10 seconds\:
features_1281_p=The value -1 means the database is never closed automatically. The value 0 is the default and means the database is closed when the last connection is closed. This setting is persistent and can be set by an administrator only. It is possible to set the value in the database URL\:<code>jdbc\:h2\:~/test;DB_CLOSE_DELAY\=10</code>.
features_1281_p=The value -1 means the database is never closed automatically. The value 0 is the default and means the database is closed when the last connection is closed. This setting is persistent and can be set by an administrator only. It is possible to set the value in the database URL\:<code>jdbc\:h2\:~/test;DB_CLOSE_DELAY\=10</code> .
features_1282_h3=Don't Close the Database when the VM Exits
features_1282_h3=Don't Close the Database when the VM Exits
features_1283_p=By default, a database is closed when the last connection is closed. However, if it is never closed, the database is closed when the virtual machine exits normally. This is done using a shutdown hook. In some situations, the database should not be closed in this case, for example because the database is still used at virtual machine shutdown (to store the shutdown process in the database for example). For those cases, the automatic closing of the database can be disabled in the database URL. The first connection (the one that is opening the database) needs to set the option in the database URL (it is not possible to change the setting afterwards). The database URL to disable database closing on exit is\:
features_1283_p=By default, a database is closed when the last connection is closed. However, if it is never closed, the database is closed when the virtual machine exits normally. This is done using a shutdown hook. In some situations, the database should not be closed in this case, for example because the database is still used at virtual machine shutdown (to store the shutdown process in the database for example). For those cases, the automatic closing of the database can be disabled in the database URL. The first connection (the one that is opening the database) needs to set the option in the database URL (it is not possible to change the setting afterwards). The database URL to disable database closing on exit is\:
features_1284_h2=Log Index Changes
features_1284_h2=Log Index Changes
...
@@ -719,10 +719,10 @@ features_1285_p=Usually, changes to the index file are not logged for performanc
...
@@ -719,10 +719,10 @@ features_1285_p=Usually, changes to the index file are not logged for performanc
features_1286_h3=Ignore Unknown Settings
features_1286_h3=Ignore Unknown Settings
features_1287_p=Some applications (for example OpenOffice.org Base) pass some additional parameters when connecting to the database. Why those parameters are passed is unknown. The parameters PREFERDOSLIKELINEENDS and IGNOREDRIVERPRIVILEGES are such examples, they are simply ignored to improve the compatibility with OpenOffice.org. If an application passes other parameters when connecting to the database, usually the database throws an exception saying the parameter is not supported. It is possible to ignored such parameters by adding ;IGNORE_UNKNOWN_SETTINGS\=TRUE to the database URL.
features_1287_p=Some applications (for example OpenOffice.org Base) pass some additional parameters when connecting to the database. Why those parameters are passed is unknown. The parameters PREFERDOSLIKELINEENDS and IGNOREDRIVERPRIVILEGES are such examples, they are simply ignored to improve the compatibility with OpenOffice.org. If an application passes other parameters when connecting to the database, usually the database throws an exception saying the parameter is not supported. It is possible to ignored such parameters by adding ;IGNORE_UNKNOWN_SETTINGS\=TRUE to the database URL.
features_1288_h3=Changing Other Settings when Opening a Connection
features_1288_h3=Changing Other Settings when Opening a Connection
features_1289_p=In addition to the settings already described (cipher, file_lock, ifexists, user, password), other database settings can be passed in the database URL. Adding<code>setting\=value</code>at the end of an URL is the same as executing the statement<code>SET setting value</code>just after connecting. For a list of settings supported by this database please see the SQL grammar documentation.
features_1289_p=In addition to the settings already described (cipher, file_lock, ifexists, user, password), other database settings can be passed in the database URL. Adding <code>setting\=value</code> at the end of an URL is the same as executing the statement <code>SET setting value</code> just after connecting. For a list of settings supported by this database please see the SQL grammar documentation.
features_1290_h2=Custom File Access Mode
features_1290_h2=Custom File Access Mode
features_1291_p=Usually, the database opens log, data and index files with the access mode 'rw', meaning read-write (except for read only databases, where the mode 'r' is used). Also supported are 'rws' and 'rwd'. The access mode used for log files is set via ACCESS_MODE_LOG; for data and index files use ACCESS_MODE_DATA. These settings must be specified in the database URL\:
features_1291_p=Usually, the database opens log, data and index files with the access mode 'rw', meaning read-write (except for read only databases, where the mode 'r' is used). Also supported are 'rws' and 'rwd'. The access mode used for log files is set via ACCESS_MODE_LOG; for data and index files use ACCESS_MODE_DATA. These settings must be specified in the database URL\:
features_1292_p=For more information see<a href\="advanced.html\#durability_problems">Durability Problems</a>. On many operating systems the access mode 'rws' does not guarantee that the data is written to the disk.
features_1292_p=For more information see <a href\="advanced.html\#durability_problems">Durability Problems</a> . On many operating systems the access mode 'rws' does not guarantee that the data is written to the disk.
features_1293_h2=Multiple Connections
features_1293_h2=Multiple Connections
features_1294_h3=Opening Multiple Databases at the Same Time
features_1294_h3=Opening Multiple Databases at the Same Time
features_1295_p=An application can open multiple databases at the same time, including multiple connections to the same database. The number of open database is only limited by the memory available.
features_1295_p=An application can open multiple databases at the same time, including multiple connections to the same database. The number of open database is only limited by the memory available.
...
@@ -810,7 +810,7 @@ features_1376_p=Please note that index file updates are not logged by default. I
...
@@ -810,7 +810,7 @@ features_1376_p=Please note that index file updates are not logged by default. I
features_1377_p=There is usually only one log file per database. This file grows until the database is closed successfully, and is then deleted. Or, if the file gets too big, the database switches to another log file (with a higher id). It is possible to force the log switching by using the CHECKPOINT command.
features_1377_p=There is usually only one log file per database. This file grows until the database is closed successfully, and is then deleted. Or, if the file gets too big, the database switches to another log file (with a higher id). It is possible to force the log switching by using the CHECKPOINT command.
features_1378_p=If the database file is corrupted, because the checksum of a record does not match (for example, if the file was edited with another application), the database can be opened in recovery mode. In this case, errors in the database are logged but not thrown. The database should be backed up to a script and re-built as soon as possible. To open the database in the recovery mode, use a database URL must contain RECOVER\=1, as in jdbc\:h2\:~/test;RECOVER\=1. Indexes are rebuilt in this case, and the summary (object allocation table) is not read in this case, so opening the database takes longer.
features_1378_p=If the database file is corrupted, because the checksum of a record does not match (for example, if the file was edited with another application), the database can be opened in recovery mode. In this case, errors in the database are logged but not thrown. The database should be backed up to a script and re-built as soon as possible. To open the database in the recovery mode, use a database URL must contain RECOVER\=1, as in jdbc\:h2\:~/test;RECOVER\=1. Indexes are rebuilt in this case, and the summary (object allocation table) is not read in this case, so opening the database takes longer.
features_1379_h2=Compatibility Modes
features_1379_h2=Compatibility Modes
features_1380_p=All database engines behave a little bit different. For certain features, this database can emulate the behavior of specific databases. Not all features or differences of those databases are implemented. Currently, this feature is mainly used for randomized comparative testing (where random statements are executed against multiple databases and the results are compared). The mode can be changed by specifying the mode in the database URL, or using the SQL statement SET MODE. To use the HSQLDB mode, you can use the database URL<code>jdbc\:h2\:~/test;MODE\=HSQLDB</code>or the SQL statement<code>SET MODE HSQLDB</code>. Here is the list of currently supported modes and the difference to the regular mode\:
features_1380_p=All database engines behave a little bit different. For certain features, this database can emulate the behavior of specific databases. Not all features or differences of those databases are implemented. Currently, this feature is mainly used for randomized comparative testing (where random statements are executed against multiple databases and the results are compared). The mode can be changed by specifying the mode in the database URL, or using the SQL statement SET MODE. To use the HSQLDB mode, you can use the database URL <code>jdbc\:h2\:~/test;MODE\=HSQLDB</code> or the SQL statement <code>SET MODE HSQLDB</code> . Here is the list of currently supported modes and the difference to the regular mode\:
features_1381_th=Mode
features_1381_th=Mode
features_1382_th=Differences
features_1382_th=Differences
features_1383_td=PostgreSQL
features_1383_td=PostgreSQL
...
@@ -828,9 +828,9 @@ features_1394_li=The Java code generation is possible
...
@@ -828,9 +828,9 @@ features_1394_li=The Java code generation is possible
features_1395_li=Trace can be enabled at runtime by manually creating a file
features_1395_li=Trace can be enabled at runtime by manually creating a file
features_1396_h3=Trace Options
features_1396_h3=Trace Options
features_1397_p=The simplest way to enable the trace option is setting it in the database URL. There are two settings, one for System.out (TRACE_LEVEL_SYSTEM_OUT) tracing, and one for file tracing (TRACE_LEVEL_FILE). The trace levels are 0 for OFF, 1 for ERROR (the default), 2 for INFO and 3 for DEBUG. A database URL with both levels set to DEBUG is\:
features_1397_p=The simplest way to enable the trace option is setting it in the database URL. There are two settings, one for System.out (TRACE_LEVEL_SYSTEM_OUT) tracing, and one for file tracing (TRACE_LEVEL_FILE). The trace levels are 0 for OFF, 1 for ERROR (the default), 2 for INFO and 3 for DEBUG. A database URL with both levels set to DEBUG is\:
features_1398_p=The trace level can be changed at runtime by executing the SQL command<code>SET TRACE_LEVEL_SYSTEM_OUT level</code>(for System.out tracing) or<code>SET TRACE_LEVEL_FILE level</code>(for file tracing). Example\:
features_1398_p=The trace level can be changed at runtime by executing the SQL command <code>SET TRACE_LEVEL_SYSTEM_OUT level</code> (for System.out tracing) or <code>SET TRACE_LEVEL_FILE level</code> (for file tracing). Example\:
features_1399_h3=Setting the Maximum Size of the Trace File
features_1399_h3=Setting the Maximum Size of the Trace File
features_1400_p=When using a high trace level, the trace file can get very big quickly. The size of the file can be limited by executing the SQL statement<code>SET TRACE_MAX_FILE_SIZE maximumFileSizeInMB</code>. If the log file exceeds the limit, the file is renamed to .old and a new file is created. If another .old file exists, it is deleted. The default setting is 16 MB. Example\:
features_1400_p=When using a high trace level, the trace file can get very big quickly. The size of the file can be limited by executing the SQL statement <code>SET TRACE_MAX_FILE_SIZE maximumFileSizeInMB</code> . If the log file exceeds the limit, the file is renamed to .old and a new file is created. If another .old file exists, it is deleted. The default setting is 16 MB. Example\:
features_1401_h3=Java Code Generation
features_1401_h3=Java Code Generation
features_1402_p=When setting the trace level to INFO or DEBUG, Java source code is generated as well, so that problem can be reproduced more easily. The trace file looks like this\:
features_1402_p=When setting the trace level to INFO or DEBUG, Java source code is generated as well, so that problem can be reproduced more easily. The trace file looks like this\:
features_1403_p=You need to filter out the lines without /**/ to get the Java source code. In Windows, a simple way to do that is\:
features_1403_p=You need to filter out the lines without /**/ to get the Java source code. In Windows, a simple way to do that is\:
...
@@ -865,7 +865,7 @@ features_1431_p=An attacker might have access to the swap file of the operating
...
@@ -865,7 +865,7 @@ features_1431_p=An attacker might have access to the swap file of the operating
features_1432_p=This database supports using char arrays instead of String to pass user and file passwords. The following code can be used to do that\:
features_1432_p=This database supports using char arrays instead of String to pass user and file passwords. The following code can be used to do that\:
features_1433_p=In this example, the password is hard code in the application, which is not secure of course. However, Java Swing supports a way to get passwords using a char array (JPasswordField).
features_1433_p=In this example, the password is hard code in the application, which is not secure of course. However, Java Swing supports a way to get passwords using a char array (JPasswordField).
features_1434_h3=Passing the User Name and/or Password in the URL
features_1434_h3=Passing the User Name and/or Password in the URL
features_1435_p=Instead of passing the user name as a separate parameter as in<code>Connection conn \=DriverManager. getConnection("jdbc\:h2\:~/test", "sa", "123");</code>the user name (and/or password) can be supplied in the URL itself\:<code>Connection conn \=DriverManager. getConnection("jdbc\:h2\:~/test;USER\=sa;PASSWORD\=123");</code>The settings in the URL override the settings passed as a separate parameter.
features_1435_p=Instead of passing the user name as a separate parameter as in <code>Connection conn \=DriverManager. getConnection("jdbc\:h2\:~/test", "sa", "123");</code> the user name (and/or password) can be supplied in the URL itself\:<code>Connection conn \=DriverManager. getConnection("jdbc\:h2\:~/test;USER\=sa;PASSWORD\=123");</code> The settings in the URL override the settings passed as a separate parameter.
features_1436_h2=User Defined Functions and Stored Procedures
features_1436_h2=User Defined Functions and Stored Procedures
features_1437_p=In addition to the built-in functions, this database supports user defined Java functions. In this database, Java functions can be used as stored procedures as well. A function must be declared (registered) before it can be used. Only static Java methods are supported; both the class and the method must be public. Example Java method\:
features_1437_p=In addition to the built-in functions, this database supports user defined Java functions. In this database, Java functions can be used as stored procedures as well. A function must be declared (registered) before it can be used. Only static Java methods are supported; both the class and the method must be public. Example Java method\:
features_1438_p=The Java function must be registered in the database by calling CREATE ALIAS\:
features_1438_p=The Java function must be registered in the database by calling CREATE ALIAS\:
...
@@ -904,7 +904,7 @@ features_1470_p=Some people think that Java is still too slow for low level oper
...
@@ -904,7 +904,7 @@ features_1470_p=Some people think that Java is still too slow for low level oper
features_1471_p=A lot of features are already built in (for example Unicode, network libraries). It is very easy to write secure code because buffer overflows and such problems can be detected very easily. Some features such as the reflection mechanism can be used for randomized testing.
features_1471_p=A lot of features are already built in (for example Unicode, network libraries). It is very easy to write secure code because buffer overflows and such problems can be detected very easily. Some features such as the reflection mechanism can be used for randomized testing.
features_1472_p=Java is also future proof\:A lot of companies support Java, and it is now open source.
features_1472_p=Java is also future proof\:A lot of companies support Java, and it is now open source.
features_1473_p=This software does not rely on many Java libraries or other software, to increase the portability and ease of use, and for performance reasons. For example, the encryption algorithms and many library functions are implemented in the database instead of using the existing libraries. Libraries that are not available in open source Java implementations (such as Swing) are not used or only used for specific features.
features_1473_p=This software does not rely on many Java libraries or other software, to increase the portability and ease of use, and for performance reasons. For example, the encryption algorithms and many library functions are implemented in the database instead of using the existing libraries. Libraries that are not available in open source Java implementations (such as Swing) are not used or only used for specific features.
frame_1000_p=H2 (for 'Hypersonic 2') is free a Java SQL DBMS. Clustering, embedded and server mode, transactions, referential integrity, views, subqueries, triggers, encryption, and disk based or in-memory operation are supported. A browser based console application is included. If you see this page your browser does not support frames. Please click here to view the<a href\="search.html">index</a>.
frame_1000_p=H2 (for 'Hypersonic 2') is free a Java SQL DBMS. Clustering, embedded and server mode, transactions, referential integrity, views, subqueries, triggers, encryption, and disk based or in-memory operation are supported. A browser based console application is included. If you see this page your browser does not support frames. Please click here to view the <a href\="search.html">index</a> .
history_1000_h1=History and Roadmap
history_1000_h1=History and Roadmap
history_1001_a=History of this Database Engine
history_1001_a=History of this Database Engine
history_1002_a=Change Log
history_1002_a=Change Log
...
@@ -1627,8 +1627,8 @@ installation_1031_td=src
...
@@ -1627,8 +1627,8 @@ installation_1031_td=src
installation_1032_td=Source files
installation_1032_td=Source files
license_1000_h1=License
license_1000_h1=License
license_1001_h2=Summary and License FAQ
license_1001_h2=Summary and License FAQ
license_1002_p=This license is a modified version of the MPL 1.1 available at<a href\="http\://www.mozilla.org/MPL">www.mozilla.org/MPL</a>, the changes are
license_1002_p=This license is a modified version of the MPL 1.1 available at <a href\="http\://www.mozilla.org/MPL">www.mozilla.org/MPL</a> , the changes are
license_1003_em=underlined</em>. There is a License FAQ section at the Mozilla web site, most of that is applicable to the H2 License as well.
license_1003_em=underlined</em>. There is a License FAQ section at the Mozilla web site, most of that is applicable to the H2 License as well.
license_1004_li=You can use H2 for free. You can integrate it into your application (including commercial applications), and you can distribute it.
license_1004_li=You can use H2 for free. You can integrate it into your application (including commercial applications), and you can distribute it.
license_1005_li=Files containing only your code are not covered by this license (it is 'commercial friendly').
license_1005_li=Files containing only your code are not covered by this license (it is 'commercial friendly').
license_1006_li=Modifications to the H2 source code must be published.
license_1006_li=Modifications to the H2 source code must be published.
...
@@ -1650,7 +1650,7 @@ license_1021_p=means a mechanism generally accepted in the software development
...
@@ -1650,7 +1650,7 @@ license_1021_p=means a mechanism generally accepted in the software development
license_1022_b=1.5. "Executable"
license_1022_b=1.5. "Executable"
license_1023_p=means Covered Code in any form other than Source Code.
license_1023_p=means Covered Code in any form other than Source Code.
license_1024_b=1.6. "Initial Developer"
license_1024_b=1.6. "Initial Developer"
license_1025_p=means the individual or entity identified as the Initial Developer in the Source Code notice required by<a href\="\#exhibit-a">Exhibit A</a>.
license_1025_p=means the individual or entity identified as the Initial Developer in the Source Code notice required by <a href\="\#exhibit-a">Exhibit A</a> .
license_1026_b=1.7. "Larger Work"
license_1026_b=1.7. "Larger Work"
license_1027_p=means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
license_1027_p=means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
license_1028_b=1.8. "License"
license_1028_b=1.8. "License"
...
@@ -1662,84 +1662,84 @@ license_1033_p=means any addition to or deletion from the substance or structure
...
@@ -1662,84 +1662,84 @@ license_1033_p=means any addition to or deletion from the substance or structure
license_1034_p=1.9.a. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
license_1034_p=1.9.a. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
license_1035_p=1.9.b. Any new file that contains any part of the Original Code or previous Modifications.
license_1035_p=1.9.b. Any new file that contains any part of the Original Code or previous Modifications.
license_1036_b=1.10. "Original Code"
license_1036_b=1.10. "Original Code"
license_1037_p=means Source Code of computer software code which is described in the Source Code notice required by<a href\="\#exhibit-a">Exhibit A</a>as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
license_1037_p=means Source Code of computer software code which is described in the Source Code notice required by <a href\="\#exhibit-a">Exhibit A</a> as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
license_1038_b=1.10.1. "Patent Claims"
license_1038_b=1.10.1. "Patent Claims"
license_1039_p=means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
license_1039_p=means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
license_1040_b=1.11. "Source Code"
license_1040_b=1.11. "Source Code"
license_1041_p=means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
license_1041_p=means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
license_1042_b=1.12. "You" (or "Your")
license_1042_b=1.12. "You" (or "Your")
license_1043_p=means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under<a href\="\#section-6.1">Section 6.1.</a>For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
license_1043_p=means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under <a href\="\#section-6.1">Section 6.1.</a> For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
license_1044_h3=2. Source Code License
license_1044_h3=2. Source Code License
license_1045_h4=2.1. The Initial Developer Grant
license_1045_h4=2.1. The Initial Developer Grant
license_1046_p=The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims\:
license_1046_p=The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims\:
license_1047_p=2.1.a. under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
license_1047_p=2.1.a. under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
license_1048_p=2.1.b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
license_1048_p=2.1.b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
license_1049_p=2.1.c. the licenses granted in this Section 2.1 (<a href\="\#section-2.1-a">a</a>) and (<a href\="\#section-2.1-b">b</a>) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
license_1049_p=2.1.c. the licenses granted in this Section 2.1 ( <a href\="\#section-2.1-a">a</a> ) and ( <a href\="\#section-2.1-b">b</a> ) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
license_1050_p=2.1.d. Notwithstanding Section 2.1 (<a href\="\#section-2.1-b">b</a>) above, no patent license is granted\:1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by\:i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
license_1050_p=2.1.d. Notwithstanding Section 2.1 ( <a href\="\#section-2.1-b">b</a> ) above, no patent license is granted\:1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by\:i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
license_1051_h4=2.2. Contributor Grant
license_1051_h4=2.2. Contributor Grant
license_1052_p=Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
license_1052_p=Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
license_1053_p=2.2.a. under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
license_1053_p=2.2.a. under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
license_1054_p=2.2.b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of\:1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
license_1054_p=2.2.b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of\:1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
license_1055_p=2.2.c. the licenses granted in Sections 2.2 (<a href\="\#section-2.2-a">a</a>) and 2.2 (<a href\="\#section-2.2-b">b</a>) are effective on the date Contributor first makes Commercial Use of the Covered Code.
license_1055_p=2.2.c. the licenses granted in Sections 2.2 ( <a href\="\#section-2.2-a">a</a> ) and 2.2 ( <a href\="\#section-2.2-b">b</a> ) are effective on the date Contributor first makes Commercial Use of the Covered Code.
license_1056_p=2.2.c. Notwithstanding Section 2.2 (<a href\="\#section-2.2-b">b</a>) above, no patent license is granted\:1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by\:i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
license_1056_p=2.2.c. Notwithstanding Section 2.2 ( <a href\="\#section-2.2-b">b</a> ) above, no patent license is granted\:1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by\:i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
license_1057_h3=3. Distribution Obligations
license_1057_h3=3. Distribution Obligations
license_1058_h4=3.1. Application of License
license_1058_h4=3.1. Application of License
license_1059_p=The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section<a href\="\#section-2.2">2.2</a>. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section<a href\="\#section-6.1">6.1</a>, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section<a href\="\#section-3.5">3.5</a>.
license_1059_p=The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section <a href\="\#section-2.2">2.2</a> . The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section <a href\="\#section-6.1">6.1</a> , and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section <a href\="\#section-3.5">3.5</a> .
license_1060_h4=3.2. Availability of Source Code
license_1060_h4=3.2. Availability of Source Code
license_1061_p=Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
license_1061_p=Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
license_1062_h4=3.3. Description of Modifications
license_1062_h4=3.3. Description of Modifications
license_1063_p=You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
license_1063_p=You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
license_1066_p=If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections<a href\="\#section-2.1">2.1</a>or<a href\="\#section-2.2">2.2</a>, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section<a href\="\#section-3.2">3.2</a>, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
license_1066_p=If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections <a href\="\#section-2.1">2.1</a> or <a href\="\#section-2.2">2.2</a> , Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section <a href\="\#section-3.2">3.2</a> , Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
license_1067_b=3.4.b. Contributor APIs\:
license_1067_b=3.4.b. Contributor APIs\:
license_1068_p=If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the legal file.
license_1068_p=If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the legal file.
license_1069_b=3.4.c. Representations\:
license_1069_b=3.4.c. Representations\:
license_1070_p=Contributor represents that, except as disclosed pursuant to Section 3.4 (<a href\="\#section-3.4-a">a</a>) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
license_1070_p=Contributor represents that, except as disclosed pursuant to Section 3.4 ( <a href\="\#section-3.4-a">a</a> ) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
license_1071_h4=3.5. Required Notices
license_1071_h4=3.5. Required Notices
license_1072_p=You must duplicate the notice in<a href\="\#exhibit-a">Exhibit A</a>in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in<a href\="\#exhibit-a">Exhibit A</a>. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
license_1072_p=You must duplicate the notice in <a href\="\#exhibit-a">Exhibit A</a> in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in <a href\="\#exhibit-a">Exhibit A</a> . You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
license_1073_h4=3.6. Distribution of Executable Versions
license_1073_h4=3.6. Distribution of Executable Versions
license_1074_p=You may distribute Covered Code in Executable form only if the requirements of Sections<a href\="\#section-3.1">3.1</a>,<a href\="\#section-3.2">3.2</a>,<a href\="\#section-3.3">3.3</a>,<a href\="\#section-3.4">3.4</a>and<a href\="\#section-3.5">3.5</a>have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section<a href\="\#section-3.2">3.2</a>. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
license_1074_p=You may distribute Covered Code in Executable form only if the requirements of Sections <a href\="\#section-3.1">3.1</a> , <a href\="\#section-3.2">3.2</a> , <a href\="\#section-3.3">3.3</a> , <a href\="\#section-3.4">3.4</a> and <a href\="\#section-3.5">3.5</a> have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section <a href\="\#section-3.2">3.2</a> . The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
license_1075_h4=3.7. Larger Works
license_1075_h4=3.7. Larger Works
license_1076_p=You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
license_1076_p=You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
license_1077_h3=4. Inability to Comply Due to Statute or Regulation.
license_1077_h3=4. Inability to Comply Due to Statute or Regulation.
license_1078_p=If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must\:(a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the<b>legal</b>file described in Section<a href\="\#section-3.4">3.4</a>and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
license_1078_p=If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must\:(a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the <b>legal</b> file described in Section <a href\="\#section-3.4">3.4</a> and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
license_1079_h3=5. Application of this License.
license_1079_h3=5. Application of this License.
license_1080_p=This License applies to code to which the Initial Developer has attached the notice in<a href\="\#exhibit-a">Exhibit A</a>and to related Covered Code.
license_1080_p=This License applies to code to which the Initial Developer has attached the notice in <a href\="\#exhibit-a">Exhibit A</a> and to related Covered Code.
license_1081_h3=6. Versions of the License.
license_1081_h3=6. Versions of the License.
license_1082_h4=6.1. New Versions
license_1082_h4=6.1. New Versions
license_1083_p=The
license_1083_p=The
license_1084_em=H2 Group</em>may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
license_1084_em=H2 Group</em>may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
license_1085_h4=6.2. Effect of New Versions
license_1085_h4=6.2. Effect of New Versions
license_1086_p=Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the
license_1086_p=Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the
license_1087_em=H2 Group</em>. No one other than the
license_1087_em=H2 Group</em>. No one other than the
license_1088_em=H2 Group</em>has the right to modify the terms applicable to Covered Code created under this License.
license_1088_em=H2 Group</em>has the right to modify the terms applicable to Covered Code created under this License.
license_1089_h4=6.3. Derivative Works
license_1089_h4=6.3. Derivative Works
license_1090_p=If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases
license_1090_p=If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases
license_1091_em="H2 Group", "H2"</em>or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the
license_1091_em="H2 Group", "H2"</em>or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the
license_1092_em=H2 License</em>. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in<a href\="\#exhibit-a">Exhibit A</a>shall not of themselves be deemed to be modifications of this License.)
license_1092_em=H2 License</em> . (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in <a href\="\#exhibit-a">Exhibit A</a> shall not of themselves be deemed to be modifications of this License.)
license_1093_h3=7. Disclaimer of Warranty
license_1093_h3=7. Disclaimer of Warranty
license_1094_p=Covered code is provided under this license on an "as is" basis, without warranty of any kind, either expressed or implied, including, without limitation, warranties that the covered code is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the covered code is with you. Should any covered code prove defective in any respect, you (not the initial developer or any other contributor) assume the cost of any necessary servicing, repair or correction. This disclaimer of warranty constitutes an essential part of this license. No use of any covered code is authorized hereunder except under this disclaimer.
license_1094_p=Covered code is provided under this license on an "as is" basis, without warranty of any kind, either expressed or implied, including, without limitation, warranties that the covered code is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the covered code is with you. Should any covered code prove defective in any respect, you (not the initial developer or any other contributor) assume the cost of any necessary servicing, repair or correction. This disclaimer of warranty constitutes an essential part of this license. No use of any covered code is authorized hereunder except under this disclaimer.
license_1095_h3=8. Termination
license_1095_h3=8. Termination
license_1096_p=8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
license_1096_p=8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
license_1097_p=8.2. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that\:
license_1097_p=8.2. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that\:
license_1098_p=8.2.a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections<a href\="\#section-2.1">2.1</a>and/or<a href\="\#section-2.2">2.2</a>of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either\:(i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections<a href\="\#section-2.1">2.1</a>and/or<a href\="\#section-2.2">2.2</a>automatically terminate at the expiration of the 60 day notice period specified above.
license_1098_p=8.2.a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections <a href\="\#section-2.1">2.1</a> and/or <a href\="\#section-2.2">2.2</a> of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either\:(i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections <a href\="\#section-2.1">2.1</a> and/or <a href\="\#section-2.2">2.2</a> automatically terminate at the expiration of the 60 day notice period specified above.
license_1099_p=8.2.b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(<a href\="\#section-2.1-b">b</a>) and 2.2(<a href\="\#section-2.2-b">b</a>) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
license_1099_p=8.2.b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1( <a href\="\#section-2.1-b">b</a> ) and 2.2( <a href\="\#section-2.2-b">b</a> ) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
license_1100_p=8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections<a href\="\#section-2.1">2.1</a>or<a href\="\#section-2.2">2.2</a>shall be taken into account in determining the amount or value of any payment or license.
license_1100_p=8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections <a href\="\#section-2.1">2.1</a> or <a href\="\#section-2.2">2.2</a> shall be taken into account in determining the amount or value of any payment or license.
license_1101_p=8.4. In the event of termination under Sections<a href\="\#section-8.1">8.1</a>or<a href\="\#section-8.2">8.2</a>above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
license_1101_p=8.4. In the event of termination under Sections <a href\="\#section-8.1">8.1</a> or <a href\="\#section-8.2">8.2</a> above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
license_1102_h3=9. Limitation of Liability
license_1102_h3=9. Limitation of Liability
license_1103_p=Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall you, the initial developer, any other contributor, or any distributor of covered code, or any supplier of any of such parties, be liable to any person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to you.
license_1103_p=Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall you, the initial developer, any other contributor, or any distributor of covered code, or any supplier of any of such parties, be liable to any person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to you.
license_1104_h3=10. United States Government End Users
license_1104_h3=10. United States Government End Users
license_1105_p=The Covered Code is a "commercial item", as that term is defined in 48 C.F.R. 2.101 (October 1995), consisting of "commercial computer software" and "commercial computer software documentation", as such terms are used in 48 C.F.R. 12.212 (September 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
license_1105_p=The Covered Code is a "commercial item", as that term is defined in 48 C.F.R. 2.101 (October 1995), consisting of "commercial computer software" and "commercial computer software documentation", as such terms are used in 48 C.F.R. 12.212 (September 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
license_1106_h3=11. Miscellaneous
license_1106_h3=11. Miscellaneous
license_1107_p=This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by
license_1107_p=This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by
license_1108_em=Swiss</em>law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in
license_1108_em=Swiss</em>law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in
license_1109_em=Switzerland</em>, any litigation relating to this License shall be subject to the jurisdiction of
license_1109_em=Switzerland</em>, any litigation relating to this License shall be subject to the jurisdiction of
license_1110_em=Switzerland</em>, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
license_1110_em=Switzerland</em>, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
license_1111_h3=12. Responsibility for Claims
license_1111_h3=12. Responsibility for Claims
license_1112_p=As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
license_1112_p=As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
license_1113_h3=13. Multiple-Licensed Code
license_1113_h3=13. Multiple-Licensed Code
license_1114_p=Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this or the alternative licenses, if any, specified by the Initial Developer in the file described in<a href\="\#exhibit-a">Exhibit A</a>.
license_1114_p=Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this or the alternative licenses, if any, specified by the Initial Developer in the file described in <a href\="\#exhibit-a">Exhibit A</a> .
license_1115_h3=Exhibit A
license_1115_h3=Exhibit A
mainWeb_1000_h1=H2 Database Engine
mainWeb_1000_h1=H2 Database Engine
mainWeb_1001_p=Welcome to H2, the free SQL database. The main feature of H2 are\:
mainWeb_1001_p=Welcome to H2, the free SQL database. The main feature of H2 are\:
...
@@ -1758,13 +1758,13 @@ mainWeb_1013_a=Google Group\: Help and Discussion
...
@@ -1758,13 +1758,13 @@ mainWeb_1013_a=Google Group\: Help and Discussion
mainWeb_1014_p=Or send an e-mail to\:
mainWeb_1014_p=Or send an e-mail to\:
mainWeb_1015_td=
mainWeb_1015_td=
mainWeb_1016_h3=Performance
mainWeb_1016_h3=Performance
mainWeb_1017_td=Operations/second (higher is better) -<a href\="performance.html">More information about this test</a>
mainWeb_1017_td=Operations/second (higher is better) -<a href\="performance.html">More information about this test</a>
mainWeb_1018_td=
mainWeb_1018_td=
mainWeb_1019_h3=News
mainWeb_1019_h3=News
mainWeb_1020_b=Newsfeeds\:
mainWeb_1020_b=Newsfeeds\:
mainWeb_1021_p=Two are available\:<a href\="http\://www.h2database.com/html/newsfeed-atom.xml"target\="_blank">Full text (Atom)</a>and<a href\="http\://www.h2database.com/html/newsfeed-rss.xml"target\="_blank">Header only (RSS)</a>.
mainWeb_1021_p=Two are available\:<a href\="http\://www.h2database.com/html/newsfeed-atom.xml"target\="_blank">Full text (Atom)</a> and <a href\="http\://www.h2database.com/html/newsfeed-rss.xml"target\="_blank">Header only (RSS)</a> .
mainWeb_1022_b=Email Newsletter\:
mainWeb_1022_b=Email Newsletter\:
mainWeb_1023_form=Subscribe to<a href\="http\://groups.google.com/group/h2database-news/subscribe">H2 Database News (Google account required)</a>to get informed about new releases. Your email address is only used in this context. If you don't want a Google account, there is a manually maintained list as well\:
mainWeb_1023_form=Subscribe to <a href\="http\://groups.google.com/group/h2database-news/subscribe">H2 Database News (Google account required)</a> to get informed about new releases. Your email address is only used in this context. If you don't want a Google account, there is a manually maintained list as well\:
mainWeb_1024_form=Email\:
mainWeb_1024_form=Email\:
mainWeb_1025_td=
mainWeb_1025_td=
mainWeb_1026_h3=Contribute
mainWeb_1026_h3=Contribute
...
@@ -2164,12 +2164,12 @@ performance_1378_td=53962
...
@@ -2164,12 +2164,12 @@ performance_1378_td=53962
performance_1379_td=87112
performance_1379_td=87112
performance_1380_h2=Application Profiling
performance_1380_h2=Application Profiling
performance_1381_h3=Analyze First
performance_1381_h3=Analyze First
performance_1382_p=Before trying to optimize the performance, it is important to know where the time is actually spent. The same is true for memory problems. Premature or 'blind' optimization should be avoided, as it is not an efficient way to solve the problem. There are various ways to analyze the application. In some situations it is possible to compare two implementations and use System.currentTimeMillis() to find out which one is faster. But this does not work for complex applications with many modules, and for memory problems. A very good tool to measure both the memory and the CPU is the<a href\="http\://www.yourkit.com">YourKit Java Profiler</a>. This tool is also used to optimize the performance and memory footprint of this database engine.
performance_1382_p=Before trying to optimize the performance, it is important to know where the time is actually spent. The same is true for memory problems. Premature or 'blind' optimization should be avoided, as it is not an efficient way to solve the problem. There are various ways to analyze the application. In some situations it is possible to compare two implementations and use System.currentTimeMillis() to find out which one is faster. But this does not work for complex applications with many modules, and for memory problems. A very good tool to measure both the memory and the CPU is the <a href\="http\://www.yourkit.com">YourKit Java Profiler</a> . This tool is also used to optimize the performance and memory footprint of this database engine.
performance_1383_h2=Database Performance Tuning
performance_1383_h2=Database Performance Tuning
performance_1384_h3=Virus Scanners
performance_1384_h3=Virus Scanners
performance_1385_p=Some virus scanners scan files every time they are accessed. It is very important for performance that database files are not scanned for viruses. The database engine does never interprets the data stored in the files as programs, that means even if somebody would store a virus in a database file, this would be harmless (when the virus does not run, it cannot spread). Some virus scanners allow excluding file endings. Make sure files ending with .db are not scanned.
performance_1385_p=Some virus scanners scan files every time they are accessed. It is very important for performance that database files are not scanned for viruses. The database engine does never interprets the data stored in the files as programs, that means even if somebody would store a virus in a database file, this would be harmless (when the virus does not run, it cannot spread). Some virus scanners allow excluding file endings. Make sure files ending with .db are not scanned.
performance_1386_h3=Using the Trace Options
performance_1386_h3=Using the Trace Options
performance_1387_p=If the main performance hot spots are in the database engine, in many cases the performance can be optimized by creating additional indexes, or changing the schema. Sometimes the application does not directly generate the SQL statements, for example if an O/R mapping tool is used. To view the SQL statements and JDBC API calls, you can use the trace options. For more information, see<a href\="features.html\#trace_options">Using the Trace Options</a>.
performance_1387_p=If the main performance hot spots are in the database engine, in many cases the performance can be optimized by creating additional indexes, or changing the schema. Sometimes the application does not directly generate the SQL statements, for example if an O/R mapping tool is used. To view the SQL statements and JDBC API calls, you can use the trace options. For more information, see <a href\="features.html\#trace_options">Using the Trace Options</a> .
performance_1388_h3=Index Usage
performance_1388_h3=Index Usage
performance_1389_p=This database uses indexes to improve the performance of SELECT, UPDATE and DELETE statements. If a column is used in the WHERE clause of a query, and if an index exists on this column, then the index can be used. Multi-column indexes are used if all or the first columns of the index are used. Both equality lookup and range scans are supported. Indexes are not used to order result sets\:The results are sorted in memory if required. Indexes are created automatically for primary key and unique constraints. Indexes are also created for foreign key constraints, if required. For other columns, indexes need to be created manually using the CREATE INDEX statement.
performance_1389_p=This database uses indexes to improve the performance of SELECT, UPDATE and DELETE statements. If a column is used in the WHERE clause of a query, and if an index exists on this column, then the index can be used. Multi-column indexes are used if all or the first columns of the index are used. Both equality lookup and range scans are supported. Indexes are not used to order result sets\:The results are sorted in memory if required. Indexes are created automatically for primary key and unique constraints. Indexes are also created for foreign key constraints, if required. For other columns, indexes need to be created manually using the CREATE INDEX statement.
performance_1390_h3=Optimizer
performance_1390_h3=Optimizer
...
@@ -2187,33 +2187,33 @@ quickstartText_1001_a=Embedding H2 in an Application
...
@@ -2187,33 +2187,33 @@ quickstartText_1001_a=Embedding H2 in an Application
quickstartText_1002_a=The H2 Console Application
quickstartText_1002_a=The H2 Console Application
quickstartText_1003_h2=Embedding H2 in an Application
quickstartText_1003_h2=Embedding H2 in an Application
quickstartText_1004_p=This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to\:
quickstartText_1004_p=This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to\:
quickstartText_1005_li=Add<code>h2.jar</code>to the classpath
quickstartText_1005_li=Add <code>h2.jar</code> to the classpath
quickstartText_1006_li=Use the JDBC driver class\:<code>org.h2.Driver</code>
quickstartText_1006_li=Use the JDBC driver class\:<code>org.h2.Driver</code>
quickstartText_1007_li=The database URL<code>jdbc\:h2\:~/test</code>opens the database 'test' in your user home directory
quickstartText_1007_li=The database URL <code>jdbc\:h2\:~/test</code> opens the database 'test' in your user home directory
quickstartText_1008_h2=The H2 Console Application
quickstartText_1008_h2=The H2 Console Application
quickstartText_1009_p=The Console lets you access a SQL database using a browser interface.
quickstartText_1009_p=The Console lets you access a SQL database using a browser interface.
quickstartText_1010_p=If you don't have Windows XP, or if something does not work as expected, please see the detailed description in the<a href\="tutorial.html">Tutorial</a>.
quickstartText_1010_p=If you don't have Windows XP, or if something does not work as expected, please see the detailed description in the <a href\="tutorial.html">Tutorial</a> .
quickstartText_1011_h3=Step-by-Step
quickstartText_1011_h3=Step-by-Step
quickstartText_1012_h4=Installation
quickstartText_1012_h4=Installation
quickstartText_1013_p=Install the software using the Windows Installer (if you did not yet do that).
quickstartText_1013_p=Install the software using the Windows Installer (if you did not yet do that).
quickstartText_1016_p=A new console window appears\:
quickstartText_1016_p=A new console window appears\:
quickstartText_1017_p=Also, a new browser page should open with the URL http\://localhost\:8082. You may get a security warning from the firewall. If you don't want other computers in the network to access the database on your machine, you can let the firewall block these connections. Only local connections are required at this time.
quickstartText_1017_p=Also, a new browser page should open with the URL http\://localhost\:8082. You may get a security warning from the firewall. If you don't want other computers in the network to access the database on your machine, you can let the firewall block these connections. Only local connections are required at this time.
quickstartText_1026_p=On the left side, a new entry TEST is added below the database icon. The operations and results of the statements are shown below the script.
quickstartText_1026_p=On the left side, a new entry TEST is added below the database icon. The operations and results of the statements are shown below the script.
tutorial_1032_p=To check the Java version you have installed, open a command prompt and type\:
tutorial_1032_p=To check the Java version you have installed, open a command prompt and type\:
tutorial_1033_p=If you get an error message, you may need to add the Java binary directory to the path environment variable.
tutorial_1033_p=If you get an error message, you may need to add the Java binary directory to the path environment variable.
tutorial_1034_h3=Error Message 'Port is in use'
tutorial_1034_h3=Error Message 'Port is in use'
tutorial_1035_p=You can only start one instance of the H2 Console, otherwise you will get the following error message\:<code>Port is in use, maybe another ... server already running on...</code>. It is possible to start multiple console applications on the same computer (using different ports), but this is usually not required as the console supports multiple concurrent connections.
tutorial_1035_p=You can only start one instance of the H2 Console, otherwise you will get the following error message\:<code>Port is in use, maybe another ... server already running on...</code> . It is possible to start multiple console applications on the same computer (using different ports), but this is usually not required as the console supports multiple concurrent connections.
tutorial_1036_h3=Using another Port
tutorial_1036_h3=Using another Port
tutorial_1037_p=If the port is in use by another application, you may want to start the H2 Console on a different port. This can be done by changing the port in the file .h2.server.properties. This file is stored in the user directory (for Windows, this is usually in "Documents and Settings/<username>"). The relevant entry is webPort.
tutorial_1037_p=If the port is in use by another application, you may want to start the H2 Console on a different port. This can be done by changing the port in the file .h2.server.properties. This file is stored in the user directory (for Windows, this is usually in "Documents and Settings/<username>"). The relevant entry is webPort.
tutorial_1038_h3=Starting Successfully
tutorial_1038_h3=Starting Successfully
...
@@ -2280,7 +2280,7 @@ tutorial_1042_p=If the server started successfully, you can connect to it using
...
@@ -2280,7 +2280,7 @@ tutorial_1042_p=If the server started successfully, you can connect to it using
tutorial_1043_h3=Multiple Concurrent Sessions
tutorial_1043_h3=Multiple Concurrent Sessions
tutorial_1044_p=Multiple concurrent browser sessions are supported. As that the database objects reside on the server, the amount of concurrent work is limited by the memory available to the server application.
tutorial_1044_p=Multiple concurrent browser sessions are supported. As that the database objects reside on the server, the amount of concurrent work is limited by the memory available to the server application.
tutorial_1045_h3=Application Properties
tutorial_1045_h3=Application Properties
tutorial_1046_p=Starting the server will create a configuration file in you local home directory called<code>.h2.server.properties</code>. For Windows installations, this file will be in the directory<code>C\:\\Documents and Settings\\[username]</code>. This file contains the settings of the application.
tutorial_1046_p=Starting the server will create a configuration file in you local home directory called <code>.h2.server.properties</code> . For Windows installations, this file will be in the directory <code>C\:\\Documents and Settings\\[username]</code> . This file contains the settings of the application.
tutorial_1047_h3=Login
tutorial_1047_h3=Login
tutorial_1048_p=At the login page, you need to provide connection information to connect to a database. Set the JDBC driver class of your database, the JDBC URL, user name and password. If you are done, click [Connect].
tutorial_1048_p=At the login page, you need to provide connection information to connect to a database. Set the JDBC driver class of your database, the JDBC URL, user name and password. If you are done, click [Connect].
tutorial_1049_p=You can save and reuse previously saved settings. The settings are stored in the Application Properties file.
tutorial_1049_p=You can save and reuse previously saved settings. The settings are stored in the Application Properties file.
...
@@ -2299,7 +2299,7 @@ tutorial_1061_p=On the browser, click 'Disconnect' on the toolbar panel. You wil
...
@@ -2299,7 +2299,7 @@ tutorial_1061_p=On the browser, click 'Disconnect' on the toolbar panel. You wil
tutorial_1062_p=To stop the server, right click on the system tray icon and select [Exit]. If you don't have the icon (because you started it in another way), press [Ctrl]+[C] on the console where the server was started (Windows), or close the console window.
tutorial_1062_p=To stop the server, right click on the system tray icon and select [Exit]. If you don't have the icon (because you started it in another way), press [Ctrl]+[C] on the console where the server was started (Windows), or close the console window.
tutorial_1063_h2=Connecting to a Database using JDBC
tutorial_1063_h2=Connecting to a Database using JDBC
tutorial_1064_p=To connect to a database, a Java application first needs to load the database driver, and then get a connection. A simple way to do that is using the following code\:
tutorial_1064_p=To connect to a database, a Java application first needs to load the database driver, and then get a connection. A simple way to do that is using the following code\:
tutorial_1065_p=This code first loads the driver (<code>Class.forName()</code>) and then opens a connection (using<code>DriverManager.getConnection()</code>). The driver name is<code>"org.h2.Driver"</code>in every case. The database URL always needs to start with<code>jdbc\:h2\:</code>to be recognized by this database. The second parameter in the<code>getConnection()</code>call is the user name ('sa' for System Administrator in this example). The third parameter is the password. Please note that in this database, user names are not case sensitive, but passwords are case sensitive.
tutorial_1065_p=This code first loads the driver ( <code>Class.forName()</code> ) and then opens a connection (using <code>DriverManager.getConnection()</code> ). The driver name is <code>"org.h2.Driver"</code> in every case. The database URL always needs to start with <code>jdbc\:h2\:</code> to be recognized by this database. The second parameter in the <code>getConnection()</code> call is the user name ('sa' for System Administrator in this example). The third parameter is the password. Please note that in this database, user names are not case sensitive, but passwords are case sensitive.
tutorial_1066_h2=Creating New Databases
tutorial_1066_h2=Creating New Databases
tutorial_1067_p=By default, if the database specified in the URL does not yet exist, a new (empty) database is created automatically. The user that created the database automatically becomes the administrator of this database.
tutorial_1067_p=By default, if the database specified in the URL does not yet exist, a new (empty) database is created automatically. The user that created the database automatically becomes the administrator of this database.