提交 bccf4e46 authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 8a3fd959
#Mon Jan 15 18:29:59 CET 2007
#Wed Jan 17 06:42:07 CET 2007
javac=javac
benchmark.drivers.dir=D\:/data/java
version.name.maven=1.0.20070116
version.name.maven=1.0.20070117
jdk=1.4
......@@ -647,10 +647,10 @@ This database supports UUIDs. Also upported is a function to create new UUIDs us
a cryptographically strong pseudo random number generator.
With random UUIDs, the chance of two having the same value can be calculated
using the probability theory. See also 'Birthday Paradox'.
Standarized randomly generated UUIDs have 122 random bits.
Standardized randomly generated UUIDs have 122 random bits.
4 bits are used for the version (Randomly generated UUID), and 2 bits for the variant (Leach-Salz).
This database supports generating such UUIDs using the built-in function RANDOM_UUID().
Here is a small program to estimate the proability of having two identical UUIDs
Here is a small program to estimate the probability of having two identical UUIDs
after generating a number of values:
<pre>
double x = Math.pow(2, 122);
......
......@@ -11,10 +11,10 @@ H2 Database Engine
<h1>Downloads</h1>
<h3>Version 1.0 / 2007-01-02 (Current)</h3>
<h3>Version 1.0 / 2007-01-17 (Current)</h3>
<p>
<a href="http://www.h2database.com/h2-setup-2007-01-02.exe">Windows Installer (2.7 MB)</a><br>
<a href="http://www.h2database.com/h2-2007-01-02.zip">Platform-Independent Zip (3.6 MB)</a><br>
<a href="http://www.h2database.com/h2-setup-2007-01-17.exe">Windows Installer (2.7 MB)</a><br>
<a href="http://www.h2database.com/h2-2007-01-17.zip">Platform-Independent Zip (3.6 MB)</a><br>
</p>
<h3>Version 1.0 / 2006-08-31 (Last Stable)</h3>
......
......@@ -15,11 +15,11 @@ Frequently Asked Questions
<h3>Are there any known bugs? When is the next release?</h3>
Usually, bugs get fixes as they are found. There is a release every few weeks.
The next release is planned for
2007-01-16.
2007-01-29.
Here is the list of known and confirmed issues as of
2007-01-02:
2007-01-17:
<ul>
<li>Can not compile with JDK 1.3 at the moment.
<li>Can not build using ant with JDK 1.3 at the moment. However most things are fixed.
<li>Some problems have been found with right outer join. Internally, it is converted to left outer join, which
does not always produce the correct results when used in combination with other joins.
</ul>
......
......@@ -1230,7 +1230,7 @@ SET CACHE_SIZE size.
This database supports two cache page replacement algorithms: LRU (the default) and
2Q. For LRU, the pages that were least frequently used are removed from the
cache if it becomes full. The 2Q algorithm is a bit more complicated, basically two
queues are used. The 2Q algorithm is more resistent to table scans, however the overhead
queues are used. The 2Q algorithm is more resistant to table scans, however the overhead
is a bit higher compared to the LRU. To use the cache algorithm 2Q, use a database URL
of the form jdbc:h2:test;CACHE_TYPE=TQ. The cache algorithm can not be changed
once the database is open.
......
......@@ -34,11 +34,11 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<h3>Version 1.0 (Current)</h3>
<h3>Version 1.0 / 2007-01-16</h3><ul>
<h3>Version 1.0 / 2007-01-17</h3><ul>
<li>Setting the collation (SET COLLATOR) was very slow on some systems (up to 24 seconds).
Thanks a lot to Martina Nissler for finding this problem!
Thanks a lot to Martina Nissler for finding this problem!
<li>The Console is now translated to Japanese thanks to IKEMOTO, Masahiro (ikeyan (at) arizona (dot) ne (dot) jp)
<li>The database engine can not be compiled with JDK 1.3 using ant codeswitch_jdk13.
<li>The database engine can now be compiled with JDK 1.3 using ant codeswitch_jdk13.
There are still some limitations, and the ant script to build the jar does not work yet.
<li>Fixed a problem where data in the log file was not written to the data file (recovery failure) after a crash,
if an index was deleted previously.
......@@ -58,7 +58,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<h3>Version 1.0 / 2007-01-02</h3><ul>
<li>It was possible to drop the sequence of a temporary tables with DROP ALL OBJECTS, resulting in a null pointer exception afterwards.
<li>Prepard statements with non-constant functions such as CURRENT_TIMESTAMP() did not get re-evaluated if the result of the function changed. Fixed.
<li>Prepardd statements with non-constant functions such as CURRENT_TIMESTAMP() did not get re-evaluated if the result of the function changed. Fixed.
<li>The (relative or absolute) directory where the script files are stored or read can now be changed using the system property h2.scriptDirectory
<li>Client trace files now created in the directory 'trace.db' and no longer the application directory.
This can be changed using the system property h2.clientTraceDirectory.
......@@ -103,7 +103,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<h3>Version 1.0 / 2006-12-03</h3><ul>
<li>The SQL statement COMMENT did not work as expected. Many bugs have been fixed in this area.
If you already have comments in the database, it is recommented to backup and restore the database,
If you already have comments in the database, it is recommended to backup and restore the database,
using the Backup and RunScript tools or the SQL commands SCRIPT and RUNSCRIPT.
<li>Mixing certain data types in an operation, for example VARCHAR and TIMESTAMP, now converts both expressions to TIMESTAMP.
This was a problem when comparing a string against a date.
......@@ -111,22 +111,22 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>Server: If an object was already closed on the server side because it was too 'old' (not used for a long time),
even calling close() threw an exception. This is not done any more as it is not a problem.
<li>Optimization: The left and right side of a AND and OR conditions are now ordered by the expected cost.
<li>There was a bug in the database encryption algorithm. The initalization vector was not correctly calculated, and
<li>There was a bug in the database encryption algorithm. The initialization vector was not correctly calculated, and
pattern of repeated encrypted bytes where generated for empty blocks in the file. This has been is fixed.
The security of the data itself was not compromised, but this was not the intended behaviour.
The security of the data itself was not compromised, but this was not the intended behavior.
If you have an encrypted database, you will need to decrypt the database using the org.h2.tools.ChangePassword
(using the old database engine), and encrypt the database using the new engine. Alternatively, you can
use the Backup and RunScript tools or the SQL commands SCRIPT and RUNSCRIPT.
<li>New connection time setting CACHE_TYPE=TQ to use the 2Q page replacement algorithm.
The overall performance seems to be a bit better when using 2Q. Also, 2Q should be more resistant to table scan.
<li>Change behaviour: If both sides of a comparison are parameters with unknown data type, then an exception is thrown now.
<li>Change behavior: If both sides of a comparison are parameters with unknown data type, then an exception is thrown now.
The same happens for UNION SELECT if both columns are parameters.
<li>New system function SESSION_ID().
<li>Deeply nested views where slow to execute, because the query was parsed many times. Fixed.
<li>The service wrapper is now included in the default installation and documented.
<li>Java functions returning a result set (such as CSVREAD) now can be used in a SELECT statement like a table.
The function is still called twice (first to get the column list at parse time, and then at execute time).
The behaviour has been changed: Now first call contains the values if set, but the connection URL is different
The behavior has been changed: Now first call contains the values if set, but the connection URL is different
(jdbc:columnlist:connection instead of jdbc:default:connection).
</ul>
......@@ -191,7 +191,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>
Sequences: When the database is not closed normally, the value was not set correctly. Fixed.
<li>
The optimization for IN(SELECT...) was too agressive; changes in the inner query where not accounted for.
The optimization for IN(SELECT...) was too aggressive; changes in the inner query where not accounted for.
<li>
Index names of referential constraints are now prefixed with the constraint name.
<li>
......@@ -343,7 +343,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
the number of rows (specially for offset), the standardized LIMIT [OFFSET] should be used
<li>
Deleting many rows from a table with a self-referencing constraint with 'on delete cascade' did not work.
Now referencial constraints are checked after the action is performed.
Now referential constraints are checked after the action is performed.
<li>
The cross references in the SQL grammar docs where broken in the last release.
<li>
......@@ -355,7 +355,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>
Until now, unknown connection properties where ignored (for OpenOffice compatibility).
This is not a good solution because typos are not detected.
This behaviour is still the default but it can be disabled by adding
This behavior is still the default but it can be disabled by adding
;IGNORE_UNKNOWN_SETTINGS=FALSE to the database URL.
However this is not the final solution.
<li>
......@@ -370,7 +370,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
When running a script that contained referential or unique constraints, and if the indexes for those constraints are not created by the user,
a internal exception could occur. This is fixed. Also, the script command will no longer write the internal indexes used into the file.
<li>
SET IGNORECASE is now supported for compatiblity with HSQLDB, and because using collations (SET COLLATION) is very slow on JDKs (JDK 1.5)
SET IGNORECASE is now supported for compatibility with HSQLDB, and because using collations (SET COLLATION) is very slow on JDKs (JDK 1.5)
<li>
ORDER BY an expression didn't work when using GROUP BY at the same time.
</ul>
......@@ -467,7 +467,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>
Space is better re-used after deleting many records.
<li>
Umlauts and chinese characters are now supported in
Umlauts and Chinese characters are now supported in
identifier names (table name, column names and so on).
<li>
Fixed a problem when comparing BIGINT values with constants.
......@@ -535,7 +535,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
the cache size is no longer necessary in most cases.
<li>
Objects of unknown type are no longer serialized to a byte array (and deserialized when calling getObject on a byte array data type)
by default. This behaviour can be changed with Constants.SERIALIZE_JAVA_OBJECTS = true
by default. This behavior can be changed with Constants.SERIALIZE_JAVA_OBJECTS = true
<li>
New column IS_GENERATED in the metadata tables SEQUENCES and INDEXES
<li>
......@@ -543,7 +543,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>
An exception was thrown if a scalar subquery returned no rows. Now the NULL value is used in this case.
<li>
IF EXISTS / IF NOT EXISTS implemented for the remaning CREATE / DROP statements.
IF EXISTS / IF NOT EXISTS implemented for the remaining CREATE / DROP statements.
<li>
ResultSetMetaData.isNullable is now implemented.
<li>
......@@ -581,7 +581,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<h3>Version 0.9 / 2006-07-01</h3><ul>
<li>
After dropping contraints and altering a table sometimes the database could not be opened. Fixed.
After dropping constraints and altering a table sometimes the database could not be opened. Fixed.
<li>
Outer joins did not always use an index even if this was possible. Fixed.
<li>
......@@ -709,7 +709,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>
New option '-ifExists' for the TCP and ODBC server to disallow creating new databases remotely.
<li>
Shutdown of a TCP Server: Can now specifiy a password (tcpPassword). Passwords used at startup and
Shutdown of a TCP Server: Can now specify a password (tcpPassword). Passwords used at startup and
shutdown must match to shutdown. Uses a management database now for each server / port.
New option tcpShutdownForce (default is false) to kill the server without waiting for other connections to close.
<li>
......@@ -767,7 +767,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
Alter table drop column: now the column can be dropped if it is not part of a constraint.
<li>
Views can now be 'invalid', for example if the table does not exist.
New synax CREATE FORCE VIEW.
New syntax CREATE FORCE VIEW.
New column STATUS (invalid / valid) in INFORMATION_SCHEMA.VIEWS table.
New SQL statement ALTER VIEW viewName RECOMPILE.
<li>
......@@ -802,7 +802,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>
Bugfix for LIKE: A null pointer exception was thrown for WHERE NAME LIKE CAST(? AS VARCHAR).
<li>
Join optimization: expessions are now evaluated as early as possible, avoiding unnecessary lookups.
Join optimization: expressions are now evaluated as early as possible, avoiding unnecessary lookups.
<li>
ResultSetMetaData.isAutoIncrement is implemented.
<li>
......@@ -815,7 +815,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
Backup (with the old version), replace 'STRINGENCODE' in the script with
'STRINGDECODE', and restore is required to upgrade to the new version.
<li>
Support for REAL data type (Java 'float'; so far the DOUBLE type was used internallly).
Support for REAL data type (Java 'float'; so far the DOUBLE type was used internally).
</ul>
<h3>Version 0.9 / 2006-04-20</h3><ul>
......@@ -838,7 +838,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>
ALTER TABLE ALTER COLUMN for a table that was referenced by another table didn't work. Fixed.
<li>
If index log is disabled (the default), indexe changes are flushed automatically each second
If index log is disabled (the default), index changes are flushed automatically each second
if the index was not changed. Like this index rebuilding is only required
(after a unexpected program termination, like power off) for indexes that
where recently changed.
......@@ -1039,7 +1039,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<h3>Version 0.9 / 2006-03-08</h3><ul>
<li>
Bugfix for table level locking. Sometimes a Java-level deadlock occured when a connection was not closed.
Bugfix for table level locking. Sometimes a Java-level deadlock occurred when a connection was not closed.
<li>
Implemented the SHUTDOWN statement to close the database.
<li>
......@@ -1205,154 +1205,6 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
Bug: Renaming a table and then reconnect didn't work.
</ul>
<h3>Version 0.9 / 2006-01-17</h3><ul>
<li>
Referential integrity:
If the references columns are not specified, the primary key columns are used
(compatibility with PostgreSQL).
<li>
Durability:
A durability test has been implemented. Unfortunately, it is currently not
possible to guarantee transaction durability by default.
<li>
Bug in binary storage format:
If a record size was a multiple of 128 bytes, it was not saved correctly.
<li>
Multi-threaded kernel: Refactored the kernel to allow multiple threads running concurrently in the
same database. Disabled by default because more tests are required.
To enable it, set Constants.MULTI_THREADED_KERNEL to true.
<li>
Temporary tables are support now.
<li>
Exception Listener: Added functionality to deal with low disk space condition,
and support a callback feature so the application can notify somebody if a problem occurs.
<li>
Trigger: Added the Javadoc API to the docs.
<li>
DataSource: Implemented DataSource and DataSourceFactory.
Not sure in what context this will be used, but it's there now.
<li>
Parser: improved exception message (expected a, b, c,...) for some syntax errors.
</ul>
<h3>Version 0.9 / 2006-01-08</h3><ul>
<li>
Recovery: The database can now be opened if the index file is corrupt or does not exist.
<li>
Recovery: There was a bug in the power off test. Recovery was not tested correctly.
There was a case when recovery didn't work (so a database could not be opened).
Fixed.
Also fixed a problem with memory tables, they where not correctly persisted when using CHECKPOINT.
<li>
Commit: Implemented delaying the log file writing for performance reasons.
Most hard drives do not obey the fsync() function, so calling sync before each commit would not help.
See also 'Your Hard Drive Lies to You' http://hardware.slashdot.org/article.pl?sid=05/05/13/0529252.
<li>
Tool: Create a new Recover tool.
<li>
Storage: support for URL parameter 'STORAGE' to support both text and binary storage formats.
The default is now binary mode storage.
<li>
Read-only database support. Added a function READONLY() and support for Connection.isReadOnly()
<li>
Functions: New functions UTF8TOSTRING, STRINGTOUTF8, HASH, ENCRYPT, DECRYPT, SECURE_RAND.
<li>
Translation: Started with French and Spanish translation of the Console.
Simplified the translation in this area (only one file needs to be translated now).
It would be great if somebody could help translating
(only around 100 words / sentences, file src/main/org/h2/web/_text_en.properties).
<li>
Storage: When a table was dropped, the space was not reused afterwards until all connections to this database
where closed. Now the space is reused without reopening the connection.
<li>
Large result set: max rows and offset didn't work with large result sets. Fixed.
<li>
New Settings: MAX_LOG_SIZE (automatic checkpoint) is implemented.
For compatibility with HSQLDB, SET LOGSIZE is supported as well.
<li>
Settings: TRACE_MAX_FILE_SIZE is now in MB instead of bytes, where 1 MB is 1024 * 1024 bytes.
</ul>
<h3>Version 0.9 / 2005-12-26</h3><ul>
<li>
GCJ: There seems to be a problem with synchronization with GCJ that is unproblematic with JDK.
If a method is synchronized, and exception occurs in this method, sometimes GCJ does not unlock
the object. One case has been fixed: when connecting to a database with the wrong user named locked
the object (probably the driver). One problem is still open: after the command
'create schema testsch authorization test', where the user test does not exists, locks something.
<li>
BTree: Fixed a critical bug in the btree update (keys where not compared when adding a record).
<li>
Binary data page: The length of a row was not always calculated correctly. Fixed and added a assertion.
(Binary data page is still disabled by default)
<li>
Linked tables: Sometimes the connection was not closed. Fixed.
<li>
Rights: Users with little access rights could not call ResultSet.getConcurrency.
They did not have rights for the metadata and system_range tables.
Now they can query those tables. The error message if there are not enough rights for an object was improved.
<li>
Rights: The table SYSTEM_INFORMATION.RIGHTS did not return the schema name for the granted table. Fixed.
<li>
Performance: a little bit of tuning was done, but currently switched off. In the future, the performance for simple things will be
comparable to HSQLDB (and H2 will be faster for complex queries). People who want to compare the performance of HSQLDB with H2
should switch DataPage.BINARY = true, Database.CHECK = false and LogSysetm.FLUSH_LOG_FOR_EACH_COMMIT = false
and compile the code again. Don't forget the compare the performance of opening and closing a database.
<li>
Memory usage: the index page cache size is now smaller to reduce the memory usage.
<li>
Storage: Truncating (dropping) a large table was very slow due to a bug. O(n^2). Fixed.
<li>
Log: Old (unused) log files where not correctly deleted at shutdown. This is now fixed.
</ul>
<h3>Version 0.9 / 2005-12-22</h3><ul>
<li>
Documentation: The Table of Contents in the PDF was broken (missing links, wrong page numbers).
Added documentation about trace options.
<li>
Version number: Added a build number, listed when calling DatabaseMetaData.getDatabaseProductVersion().
The console shows the product name and version.
<li>
Constraints: If adding a constraint created an index (automatically), then the order of operations was not logged correctly
(first the constraint and then the index, instead of first the index). Because of that, it was not possible to
connect to the database again. Fixed.
<li>
ResultSetMetaData.getColumn: Now return the column label as other databases (HSQLDB and MySQL) do.
<li>
Cache: A caching bug with medium to large databases (more than 16000 records) was fixed.
Too bad this was not found before releasing the database!
Also, a caching bug in linear hash index was fixed.
<li>
BigDecimal: There was an incompatibility with 'new BigDecimal(int)', which is not available in JDK 1.4.
It worked when the source code was compiled with JDK 1.4, but unfortunately it was compiled with JDK 1.5.
Now, 'new BigDecimal(String)' is always used to avoid this incompatibility.
<li>
Trace: Fix the output format, use 24 hour format instead of 12 hour format.
Enabling the trace option at runtime did not work as expected, this was fixed.
<li>
Tools: Added convenience methods in the tools (Backup, DeleteDbFiles,...) so they can be called
from another application more easily. Added Javadoc documentation.
<li>
Console: Stack traces are not thrown on the console window, to avoid blocking the application
if the user selects something in the console (in Windows).
<li>
Referential integrity: Supports the syntax where the referenced table is not specified.
In this case, the same table is referenced. (Compatibility with HSQLDB).
<li>
API Documentation: The 'throws' clause was not included in the Doclet. Fixed.
<li>
Tools: Added public 'execute' methods to simplify using the tools in other applications.
<li>
Clustering: The CreateCluster application now works even if both databases are on another machine.
<li>
Clustering: If autocommit is enabled on the client side, the commit on the server side is
executed after all servers executed the statement. This is slower, but fixed a theoretical
problem when using multiple connections (client A executes a statement, client B executes another
statement, and for some reason client B is faster and the statements of B are done on both
servers while client A is only done on the first server).
</ul>
<h3>Version 0.9 / 2005-12-13</h3><ul>
<li>
First public release.
......@@ -1432,7 +1284,6 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<li>Test with dbmonster (http://dbmonster.kernelpanic.pl/)
<li>Test with dbcopy (http://dbcopyplugin.sourceforge.net)
<li>Document how to view / scan a big trace file (less)
<li>Translation to spanish, chinese, japanese
<li>Set the database in an 'exclusive' mode
<li>Implement, test, document XAConnection and so on
<li>Web site: meta keywords, description, get rid of frame set
......
......@@ -30,17 +30,17 @@ Welcome to H2, the free SQL database. The main feature of H2 are:
<table style="border: 0px; margin: 5px; background-color: #eee;">
<tr><td style="border: 0px; background-color: #eee;" colspan="2">
<h3>Download</h3>
Version 1.0 / 2007-01-02:
Version 1.0 / 2007-01-17:
</td></tr>
<tr><td style="border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-setup-2007-01-02.exe"><img border="1" src="images/download.png" alt="download"></a>
<a href="http://www.h2database.com/h2-setup-2007-01-17.exe"><img border="1" src="images/download.png" alt="download"></a>
</td><td style="vertical-align: middle; border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-setup-2007-01-02.exe">Windows Installer (2.7 MB)</a>
<a href="http://www.h2database.com/h2-setup-2007-01-17.exe">Windows Installer (2.7 MB)</a>
</td></tr>
<tr><td style="border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-2007-01-02.zip"><img border="1" src="images/download.png" alt="download"></a>
<a href="http://www.h2database.com/h2-2007-01-17.zip"><img border="1" src="images/download.png" alt="download"></a>
</td><td style="vertical-align: middle; border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-2007-01-02.zip">Platform-Independent Zip (3.6 MB)</a>
<a href="http://www.h2database.com/h2-2007-01-17.zip">Platform-Independent Zip (3.6 MB)</a>
</td></tr>
<tr><td style="border: 0px; background-color: #eee;" colspan="2">
<a href="download.html">All Downloads</a>
......
......@@ -183,7 +183,7 @@ This benchmark runs three times, the last run counts.
<h4>Memory Usage</h4>
It is not enough to measure the time taken, the memory usage is important as well.
Performance can be improved in databases by using a bigger in-memory cache,
but there is only a limited amout of memory available on the system.
but there is only a limited amount of memory available on the system.
HSQLDB tables are kept fully in memory by default, this benchmark
uses 'disk based' tables for all databases.
Unfortunately, it is not so easy to calculate the memory usage of PostgreSQL
......
......@@ -122,7 +122,7 @@ Section "All"
SetOutPath "$INSTDIR\odbc"
File /r /x CVS /x .cvsignore ..\..\odbc\*.*
SetOutPath "$INSTDIR\service"
File /r /x CVS /x .cvsignore ..\..\service\*.*
File /r /x CVS /x .cvsignore /x .svn ..\..\service\*.*
SetOutPath "$INSTDIR"
File /r /x CVS /x .cvsignore ..\..\build.xml
File /r /x CVS /x .cvsignore ..\..\ant-build.properties
......
......@@ -15,9 +15,19 @@ package org.h2.engine;
* - Update latest version in build.html: http://mirrors.ibiblio.org/pub/mirrors/maven2/com/h2database/h2/
* - ant jarClient, check jar file size
* - Compiling with JDK 1.3, 1.4, 1.5 and 1.6
*
* set path=C:\jdk1.3.1_19\bin;%PATH%
* set JAVA_HOME=C:\jdk1.3.1_19\bin
* ant codeswitch_jdk16
* ant compile
*
* set path=C:\Programme\Java\jdk1.6.0\bin;%PATH%
* set JAVA_HOME=C:\Programme\Java\jdk1.6.0\bin
* ant codeswitch_jdk16
* ant compile
*
* ant codeswitch_jdk14
*
* - Change FAQ (next release planned, known bugs)
* - Check version, change build number in Constants.java and build.xml
* - Check code coverage
......@@ -59,8 +69,8 @@ package org.h2.engine;
*/
public class Constants {
public static final int BUILD_ID = 39;
private static final String BUILD = "2007-01-16";
public static final int BUILD_ID = 40;
private static final String BUILD = "2007-01-17";
public static final int VERSION_MAJOR = 1;
public static final int VERSION_MINOR = 0;
......
......@@ -18,6 +18,12 @@ import org.h2.message.TraceObject;
import org.h2.util.IOUtils;
import org.h2.value.Value;
//#ifdef JDK16
/*
import java.sql.NClob;
*/
//#endif
/**
* Represents a CLOB value.
*/
......
......@@ -332,7 +332,7 @@ CREATE DOMAIN [IF NOT EXISTS] newDomainName AS dataType
","
Creates a new data type (domain).
The check condition must evaluate to true or to NULL (to prevent NULL values, use NOT NULL).
In the condition, the term VALUE refers to the value beeing tested.
In the condition, the term VALUE refers to the value being tested.
","
CREATE DOMAIN EMAIL AS VARCHAR(255) CHECK (POSITION('@', VALUE) > 1)
"
......@@ -2508,7 +2508,7 @@ CALL SCHEMA()
"Functions (System)","SESSION_ID","
SESSION_ID(): int
","
Returns the unique session id numberfor the current database connection.
Returns the unique session id number for the current database connection.
This id stays the same while the connection is open.
The database engine may re-use a session id after the connection is closed.
","
......
......@@ -10,10 +10,44 @@ INSERT INTO CHANNEL VALUES('H2 Database Engine' ,
CREATE TABLE ITEM(ID INT PRIMARY KEY, TITLE VARCHAR, ISSUED TIMESTAMP, DESC VARCHAR);
INSERT INTO ITEM VALUES(20,
'New version available: 1.0 / 2007-01-17', '2007-01-17 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br>
<b>Changes and new functionality:</b>
<ul>
<li>The Console is now translated to Japanese thanks to
IKEMOTO, Masahiro (ikeyan (at) arizona (dot) ne (dot) jp).
<li>The database engine can now be compiled with JDK 1.3 using ant codeswitch_jdk13.
There are still some limitations, and the ant script to build the jar does not work yet.
<li>SCRIPT NODATA now writes the row count for each table.
<li>Timestamps with timezone information (Z or +/-hh:mm) and dates before year 1
can now be parsed. However dates before year 1 are not formatted correctly.
</ul>
<b>Bugfixes:</b>
<ul>
<li>Fixed a problem where data in the log file was not written to the data file
(recovery failure) after a crash, if an index was deleted previously.
<li>Setting the collation (SET COLLATOR) was very slow on some systems (up to 24 seconds).
<li>Selecting a column using the syntax schemaName.tableName.columName did not work in all cases.
<li>When stopping the TCP server from an application and immediately afterwards starting
it again using a different TCP password, an exception was thrown sometimes.
<li>Now PreparedStatement.setBigDecimal(..) can only be called with an object of
type java.math.BigDecimal. Derived classes are not allowed any more. Many thanks to
Maciej Wegorkiewicz for finding this problem.
<li>It was possible to manipulate values in the byte array after calling PreparedStatement.setBytes,
and this could lead to problems if the same byte array was used again. Now the byte array
is copied if required.
<li>Date, time and timestamp objects were cloned in cases where it was not required. Fixed.
</ul>
For future plans, see the new ''Roadmap'' page on the web site.
</ul>
');
INSERT INTO ITEM VALUES(19,
'New version available: 1.0 / 2007-01-02', '2007-01-02 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>H2 is now available in Maven. The groupId is com.h2database, the
......@@ -56,7 +90,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(18,
'New version available: 1.0 / 2006-12-17', '2006-12-17 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>Large BLOB and CLOB support for the server and the cluster mode.
......@@ -98,7 +132,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(17,
'New version available: 1.0 / 2006-12-03', '2006-12-03 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>New connection time setting CACHE_TYPE=TQ to use the 2Q page replacement
......@@ -142,7 +176,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(16,
'New version available: 1.0 / 2006-11-20', '2006-11-20 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>New SQL statement SET SCHEMA to change the current schema of this session.
......@@ -178,7 +212,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(15,
'New version available: 1.0 / 2006-11-03', '2006-11-03 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>New SQL statement COMMENT ON ... IS ...
......@@ -223,7 +257,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(14,
'New version available: 1.0 / 2006-10-10', '2006-10-10 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>Support for DOMAIN (user defined data types).
......@@ -249,7 +283,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(13,
'New version available: 1.0 / 2006-09-24', '2006-09-24 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>Protection against SQL injection: New command SET ALLOW_LITERALS {NONE|ALL|NUMBERS}.
......@@ -291,7 +325,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(12,
'New version available: 1.0 / 2006-09-10', '2006-09-10 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>SET IGNORECASE is now supported for compatibility with HSQLDB.
......@@ -327,7 +361,7 @@ See <a href="http://www.infoq.com/news/h2-released">http://www.infoq.com/news/h2
INSERT INTO ITEM VALUES(10,
'New version available: 1.0 / 2006-08-31', '2006-08-31 12:00:00',
'H2 version 1.0 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Bugfixes:</b>
<ul>
<li>In some situations, wide b-tree indexes (with large VARCHAR columns for example) could get corrupted. Fixed.
......@@ -340,7 +374,7 @@ For future plans, see the new ''Roadmap'' page on the web site.
INSERT INTO ITEM VALUES(9,
'New version available: 1.0 RC 2 / 2006-08-28', '2006-08-28 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>Linked tables: The table name is no longer quoted when accessing the foreign database.
......@@ -381,7 +415,7 @@ This is still open for discussion at the <a href="http://www.h2database.com/ipow
INSERT INTO ITEM VALUES(7,
'New version available: 0.9 RC 1 / 2006-08-23', '2006-08-23 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>Date and time constants outside the valid range (February 31 and so on) are no longer accepted.
......@@ -415,7 +449,7 @@ The plans for the next release (RC 2) are:
INSERT INTO ITEM VALUES(6,
'New version available: 0.9 Beta / 2006-08-14', '2006-08-14 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>Autocomplete support in the H2 Console.
......@@ -449,7 +483,7 @@ The plans for the next release are:
INSERT INTO ITEM VALUES(5,
'New version available: 0.9 Beta / 2006-07-29', '2006-07-30 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>ParameterMetaData is now implemented
......@@ -488,7 +522,7 @@ For details see also the history. The plans for the next release are:
INSERT INTO ITEM VALUES(4,
'New version available: 0.9 Beta / 2006-07-14', '2006-07-14 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>The cache size is now measured in blocks and no longer in rows.
......@@ -526,7 +560,7 @@ For details see also the history. The plans for the next release are:
INSERT INTO ITEM VALUES(3,
'New version available: 0.9 Beta / 2006-07-01', '2006-07-01 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<br>
<b>Changes and new functionality:</b>
<ul>
<li>Reduced memory usage: implemented a String cache and improved the Value cache.
......@@ -558,44 +592,6 @@ For details see also the history. The plans for the next release are:
</ul>
');
INSERT INTO ITEM VALUES(2,
'New version available: 0.9 Beta / 2006-06-16', '2006-06-16 12:00:00',
'A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
<br/>
<b>Changes and new functionality:</b>
<ul>
<li>It''s now Beta version; don''t expect much added functionality until 1.0
<li>New XML encoding functions (XMLTEXT, XMLATTR, XMLNODE,...).
<li>New functions FORMATDATETIME and PARSEDATETIME
<li>Performance: improved opening of a large databases
<li>Performance: improved creating and opening encrypted databases
<li>Blob.getLength() and Clob.getLength() are now fast operations
<li>Documented ALTER TABLE DROP COLUMN
<li>Implemented DROP TRIGGER
<li>Calling Server.start...Server now waits until the server is ready
<li>If a connection is closed while there is still an operation running, this operation is stopped
Implemented distributing lob files into directories, and only keep up to 255 files in one directory.
However this is disabled by default; it will be enabled the next time the file format changes
(maybe not before 1.1). It can be enabled by the application by setting
Constants.LOB_FILES_IN_DIRECTORIES = true
</ul>
<b>Bugfixes:</b>
<ul>
<li>Issue #110: PreparedStatement.setCharacterStream
<li>Issue #111: The catalog name was not uppercase
<li>Issue #112: Two threads could not open the same database at the same time
<li>Issue #113: Drop is now restricted
<li>Issue #114: Support large index data size
<li>Issue #115: Lock timeout for three or more threads
</ul>
For details see also the history. The plans for the next release are:
<ul>
<li>Bugfixes, write more tests, more bugfixes, more tests
<li>Proposal for changed license (still pending...)
<li>For other plans, see the new ''Roadmap'' part on the web site
</ul>
');
SELECT 'newsfeed-rss.xml' FILE,
XMLSTARTDOC() ||
XMLNODE('rss', XMLATTR('version', '2.0'),
......
......@@ -86,6 +86,9 @@ java -Xmx512m -Xrunhprof:cpu=samples,depth=8 org.h2.tools.RunScript -url jdbc:h2
TestAll test = new TestAll();
test.printSystem();
// Hi i found one small nasty bug with h2 database. When i use prepared statement on tables that have primary key UUID DEFAULT random_UUID(), and when i call getGeneratedKeys() method I only get (long) 0 as result, instead of random_uuid.
// And if I use IDENTITY type for primary ket i get corect value from methord PreparedStatement.getGeneratedKeys(). Problem is with UUID and random_uuid() combination.
// NULL || 'X' should probably return null by default
// change default to read committed transaction isolation
// Hot backup (incremental backup, online backup): backup data, log, index? files
......
/*
* Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.test.synth;
import java.io.File;
......
/*
* Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.test.synth;
import java.sql.PreparedStatement;
......
......@@ -95,8 +95,10 @@ public class GenerateDoc {
}
String topic = rs.getString("TOPIC");
String syntax = rs.getString("SYNTAX");
syntax = PageParser.escapeHtml(syntax);
syntax = StringUtils.replaceAll(syntax, "<br>", "");
syntax = bnf.getSyntax(topic, syntax);
map.put("syntax", PageParser.escapeHtml(syntax));
map.put("syntax", syntax);
list.add(map);
}
session.put(key, list);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论