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

--no commit message

--no commit message
上级 5552171b
...@@ -631,100 +631,5 @@ Change Log ...@@ -631,100 +631,5 @@ Change Log
(the minimum size used to be 2 characters). (the minimum size used to be 2 characters).
</li></ul> </li></ul>
<h2>Version 1.0.79 (2008-09-26)</h2>
<ul><li>Linked tables that point to the same database can now share the connection
within the same database. Access to the same connection is serialized. To enable this feature,
set the system property h2.shareLinkedConnections to true.
</li><li>Multiple processes can now access the same database without having to explicitly
start the server. To do that, append ;AUTO_SERVER=TRUE to the database URL.
In this case, the server is started automatically if the connection is in embedded mode,
and the server mode is used if a server is running. If the process that opened the first
connection is closed, the other client need to reconnect (there is no automatic re-connect so far).
Remote connections are allowed, but only to this database.
</li><li>The server tool now displays the correct IP address if networked.
</li><li>Can now start a TCP server with port 0 (automatically select a port).
</li><li>Result sets with just a unique index can now be updated (previously a primary key was required).
</li><li>LINKED TABLE: the schema name can now be set. When multiple tables exist in different schema,
and the schema name is not set, an exception is thrown.
</li><li>LINKED TABLE: worked around a bug in Oracle with the CHAR data type.
</li><li>Faster hash code calculation for large binary arrays.
</li><li>Faster storage re-use algorithm thanks to Greg Dhuse from cleversafe.com.
</li><li>The database supports the SHOW command for better MySQL and PostgreSQL compatibility.
</li><li>The H2 Console now abbreviates large texts in results.
</li><li>Multiple UNION queries could not be used in derived tables.
</li><li>Linked tables can now be read-only.
</li><li>Temporary linked tables are now supported.
</li><li>It was possible to create tables in read-only databases.
</li><li>SET SCHEMA_SEARCH_PATH is now documented.
</li><li>SET SCHEMA did not work for views.
</li><li>Row level locking for MVCC is now enabled. The exception
'Concurrent update in table ...' is still thrown, but only after the lock timeout.
</li><li>The maximum log file size setting was ignored for large databases.
</li><li>Multi-Version Concurrency (MVCC) may no longer be used when using
the multi-threaded kernel feature (MULTI_THREADED). An exception is thrown
when trying to connect with both settings. Additional synchronization
is required before those features can be used together.
</li><li>The data type JAVA_OBJECT could not be used in updatable result sets.
</li><li>The system property h2.optimizeInJoin did not work correctly.
</li><li>Conditions such as ID=? AND ID &lt; ? were slow.
</li></ul>
<h2>Version 1.0.78 (2008-08-28)</h2>
<ul><li>The documentation no longer uses a frameset (except the Javadocs).
</li><li>When using DB_CLOSE_DELAY, sometimes a NullPointerException is thrown when
the database is opened almost at the same time as it is closed automatically.
Thanks a lot to Dmitry Pekar for finding this!
</li><li>Java methods with variable number of parameters can now be used (for Java 1.5 or newer).
</li><li>The Japanese translation has been improved by Masahiro Ikemoto. Thanks a lot!
</li><li>The H2 Console replaced an empty user name with a single space.
</li><li>The build target 'build jarSmall' now includes the embedded database.
</li><li>JdbcDataSource now keeps the password in a char array where possible.
</li><li>ResultSet.absolute did not always work with large result sets.
</li><li>Column aliases can now be used in GROUP BY and HAVING.
</li><li>Jason Brittain has contributed MySQL date functions. Thanks a lot!
They are not in the h2.jar file currently, but in src/tools/org/h2/mode/FunctionsMySQL.java.
To install, add this class to the classpath and call FunctionsMySQL.register(conn) in the Java code.
</li></ul>
<h2>Version 1.0.77 (2008-08-16)</h2>
<ul><li>JaQu is now using prepared statements and supports Date, Time, Timestamp.
</li><li>When using remote in-memory databases, large LOB objects did not work.
</li><li>Timestamp columns such as TIMESTAMP(6) were not compatible to other database.
</li><li>Opening a large database was slow if there was a problem opening the previous time.
</li><li>NOT IN(SELECT ...) was incorrect if the subquery returns no rows.
</li><li>CREATE TABLE AS SELECT did not work correctly in the multi-version concurrency mode.
</li><li>Support a comma before closing a list, as in: create table test(id int,)
</li><li>MySQL compatibility: linked tables had lower case column names on some systems.
</li><li>DB2 compatibility: the DB2 fetch-first-clause is supported.
</li><li>Oracle compatibility: old style outer join syntax using (+) did work correctly sometimes.
</li><li>ResultSet.setFetchSize is now supported.
</li><li>It has been reported that when using Install4j on some Linux systems and enabling the 'pack200' option,
the h2.jar becomes corrupted by the install process, causing application failure.
A workaround is to add an empty file h2.jar.nopack next to the h2.jar file.
The reason for this problem is not known.
</li></ul>
<h2>Version 1.0.76 (2008-07-27)</h2>
<ul><li>The comment of a domain (user defined data type) is now used as the
default column comment when creating a column with this domain.
</li><li>Invalid database names are now detected and a better error message is thrown.
</li><li>ResultSetMetaData.getColumnClassName now returns the correct
class name for BLOB and CLOB.
</li><li>Fixed the Oracle mode: Oracle allows multiple rows only where
all columns of the unique index are NULL.
</li><li>There is a problem with Hibernate when using Boolean columns.
A patch for Hibernate has been submitted at
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3401
</li><li>ORDER BY on tableName.columnName didn't work correctly if the column
name was also used as an alias.
</li><li>H2 Console: the progress display when opening a database has been improved.
</li><li>The error message when the server doesn't start has been improved.
</li><li>Key values can now be changed in updatable result sets.
</li><li>Changes in updatable result sets are now visible even when resetting the result set.
</li><li>Temporary files were sometimes deleted too late when executing large insert, update,
or delete operations.
</li><li>The database file was growing after deleting many rows, and after large update operations.
</li></ul>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html> <!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
...@@ -118,6 +118,7 @@ via PayPal: ...@@ -118,6 +118,7 @@ via PayPal:
</li><li>Fyodor Kupolov, Denmark </li><li>Fyodor Kupolov, Denmark
</li><li>Jakob Jenkov, Denmark </li><li>Jakob Jenkov, Denmark
</li><li>St&eacute;phane Chartrand, Switzerland </li><li>St&eacute;phane Chartrand, Switzerland
</li><li>Glenn Kidd, USA
</li></ul> </li></ul>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html> <!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
......
...@@ -16,8 +16,28 @@ JaQu ...@@ -16,8 +16,28 @@ JaQu
<!-- } --> <!-- } -->
<h1>JaQu</h1> <h1>JaQu</h1>
<a href="#what_is_jaqu">
<h2>What is JaQu</h2> What is JaQu</a><br />
<a href="#differences">
Differences to Other Data Access Tools</a><br />
<a href="#current_state">
Current State</a><br />
<a href="#building_jaqu">
Building the JaQu Library</a><br />
<a href="#requirements">
Requirements</a><br />
<a href="#example_code">
Example Code</a><br />
<a href="#configuration">
Configuration</a><br />
<a href="#natural_syntax">
Natural Syntax</a><br />
<a href="#other_ideas">
Other Ideas</a><br />
<a href="#similar_projects">
Similar Projects</a><br />
<h2 id="what_is_jaqu">What is JaQu</h2>
<p> <p>
JaQu stands for Java Query and allows to access databases using pure Java. JaQu stands for Java Query and allows to access databases using pure Java.
JaQu provides a fluent interface (or internal DSL) for building SQL statements. JaQu provides a fluent interface (or internal DSL) for building SQL statements.
...@@ -38,7 +58,7 @@ SELECT * FROM PRODUCTS P ...@@ -38,7 +58,7 @@ SELECT * FROM PRODUCTS P
WHERE P.UNITS_IN_STOCK = 0 WHERE P.UNITS_IN_STOCK = 0
</pre> </pre>
<h2>Advantages and Differences to Other Data Access Tools</h2> <h2 id="differences">Differences to Other Data Access Tools</h2>
<p> <p>
Unlike SQL, JaQu can be easily integrated in Java applications. Because JaQu is pure Java, Unlike SQL, JaQu can be easily integrated in Java applications. Because JaQu is pure Java,
auto-complete in the IDE and Javadoc and are supported. Type checking is performed by the compiler. auto-complete in the IDE and Javadoc and are supported. Type checking is performed by the compiler.
...@@ -66,7 +86,7 @@ Most people use Java in their application. Mixing Java and another language (for ...@@ -66,7 +86,7 @@ Most people use Java in their application. Mixing Java and another language (for
in the same application is complicated: you would need to split the application and database code. in the same application is complicated: you would need to split the application and database code.
</p> </p>
<h2>Current State</h2> <h2 id="current_state">Current State</h2>
<p> <p>
Currently, JaQu is only tested with the H2 database. The API may change in future versions. Currently, JaQu is only tested with the H2 database. The API may change in future versions.
JaQu is not part of the h2 jar file, however the source code is included in H2, under: JaQu is not part of the h2 jar file, however the source code is included in H2, under:
...@@ -75,19 +95,19 @@ JaQu is not part of the h2 jar file, however the source code is included in H2, ...@@ -75,19 +95,19 @@ JaQu is not part of the h2 jar file, however the source code is included in H2,
</li><li><code>src/tools/org/h2/jaqu/*</code> (framework) </li><li><code>src/tools/org/h2/jaqu/*</code> (framework)
</li></ul> </li></ul>
<h2>Building the JaQu library</h2> <h2 id="building_jaqu">Building the JaQu Library</h2>
<p> <p>
To create the JaQu jar file, run: <code>build jarJaqu</code>. This will create the file <code>bin/h2jaqu.jar</code>. To create the JaQu jar file, run: <code>build jarJaqu</code>. This will create the file <code>bin/h2jaqu.jar</code>.
</p> </p>
<h2>Requirements</h2> <h2 id="requirements">Requirements</h2>
<p> <p>
JaQu requires Java 1.5. Annotations are not need. JaQu requires Java 1.5. Annotations are not need.
Currently, JaQu is only tested with the H2 database engine, however in theory it should Currently, JaQu is only tested with the H2 database engine, however in theory it should
work with any database that supports the JDBC API. work with any database that supports the JDBC API.
</p> </p>
<h2>Example Code</h2> <h2 id="example_code">Example Code</h2>
<pre> <pre>
package org.h2.test.jaqu; package org.h2.test.jaqu;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -222,7 +242,7 @@ public class Test { ...@@ -222,7 +242,7 @@ public class Test {
} }
</pre> </pre>
<h2>Configuration</h2> <h2 id="configuration">Configuration</h2>
<p> <p>
JaQu does not require any configuration when using the default mapping. JaQu does not require any configuration when using the default mapping.
To define table indices, or if you want to map a class to a table with a different name, To define table indices, or if you want to map a class to a table with a different name,
...@@ -256,7 +276,7 @@ This is not possible using annotations. ...@@ -256,7 +276,7 @@ This is not possible using annotations.
Unlike XML mapping configuration, the configuration is integrated in the class itself. Unlike XML mapping configuration, the configuration is integrated in the class itself.
</p> </p>
<h2>Natural Syntax</h2> <h2 id="natural_syntax">Natural Syntax</h2>
<p>The plan is to support more natural (pure Java) syntax in conditions. <p>The plan is to support more natural (pure Java) syntax in conditions.
To do that, the condition class is de-compiled to a SQL condition. To do that, the condition class is de-compiled to a SQL condition.
A proof of concept decompiler is included (but it doesn't work yet). A proof of concept decompiler is included (but it doesn't work yet).
...@@ -275,7 +295,7 @@ long count = db.from(co). ...@@ -275,7 +295,7 @@ long count = db.from(co).
} }).selectCount(); } }).selectCount();
</pre> </pre>
<h2>Other Ideas</h2> <h2 id="other_ideas">Other Ideas</h2>
<p> <p>
This project has just been started, and nothing is fixed yet. This project has just been started, and nothing is fixed yet.
Some ideas for what to implement are: Some ideas for what to implement are:
...@@ -286,8 +306,9 @@ Some ideas for what to implement are: ...@@ -286,8 +306,9 @@ Some ideas for what to implement are:
</li><li>Use PreparedStatements and cache them. </li><li>Use PreparedStatements and cache them.
</li></ul> </li></ul>
<h2>Related Projects</h2> <h2 id="similar_projects">Similar Projects</h2>
<p class="notranslate"> <p class="notranslate">
<a href="http://www.cementframework.org">Cement Framework</a><br />
<a href="http://code.google.com/p/dreamsource-orm">Dreamsource ORM</a><br /> <a href="http://code.google.com/p/dreamsource-orm">Dreamsource ORM</a><br />
<a href="http://incubator.apache.org/empire-db/empiredb/empiredb.htm">Empire-db</a><br /> <a href="http://incubator.apache.org/empire-db/empiredb/empiredb.htm">Empire-db</a><br />
<a href="http://www.jequel.de">JEQUEL: Java Embedded QUEry Language</a><br /> <a href="http://www.jequel.de">JEQUEL: Java Embedded QUEry Language</a><br />
...@@ -297,7 +318,7 @@ Some ideas for what to implement are: ...@@ -297,7 +318,7 @@ Some ideas for what to implement are:
<a href="http://svn.quaere.codehaus.org/browse/~raw,r=76/quaere/trunk/Quaere/src/test/java/org/quaere/alias/test/SamplesTest.java">Quaere (Alias implementation)</a><br /> <a href="http://svn.quaere.codehaus.org/browse/~raw,r=76/quaere/trunk/Quaere/src/test/java/org/quaere/alias/test/SamplesTest.java">Quaere (Alias implementation)</a><br />
<a href="http://quaere.codehaus.org/">Quaere</a><br /> <a href="http://quaere.codehaus.org/">Quaere</a><br />
<a href="http://source.mysema.com/display/querydsl/Querydsl">Querydsl</a><br /> <a href="http://source.mysema.com/display/querydsl/Querydsl">Querydsl</a><br />
<a href="https://squill.dev.java.net">Squill</a><br /> <a href="http://squill.dev.java.net">Squill</a><br />
</p> </p>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html> <!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
......
...@@ -35,6 +35,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -35,6 +35,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>More tests with MULTI_THREADED=1 </li><li>More tests with MULTI_THREADED=1
</li><li>Optimization: result set caching (like MySQL) </li><li>Optimization: result set caching (like MySQL)
</li><li>Server side cursors </li><li>Server side cursors
</li><li>MVCC: support concurrent MERGE
</li><li>Procedural language / script language (Java, Javascript) </li><li>Procedural language / script language (Java, Javascript)
</li></ul> </li></ul>
...@@ -386,6 +387,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -386,6 +387,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Functions: support hashcode(value); cryptographic and fast </li><li>Functions: support hashcode(value); cryptographic and fast
</li><li>Serialized file lock: support long running queries. </li><li>Serialized file lock: support long running queries.
</li><li>Network: use 127.0.0.1 if other addresses don't work. </li><li>Network: use 127.0.0.1 if other addresses don't work.
</li><li>Pluggable network protocol (currently Socket/ServerSocket over TCP/IP) - see also TransportServer with master slave replication.
</li><li>Select for update in mvcc mode: only lock the selected records. </li><li>Select for update in mvcc mode: only lock the selected records.
</li><li>Support reading JCR data: one table per node type; query table; cache option </li><li>Support reading JCR data: one table per node type; query table; cache option
</li><li>OSGi: create a sample application, test, document. </li><li>OSGi: create a sample application, test, document.
......
Change version and build number in Constants.java Update Constants.java - change version and build number
If the minor version changes, change sourceError.html and source.html Update changelog.html - add new version, remove oldest
Maybe increase TCP_DRIVER_VERSION (old clients must be compatible!) Update newsfeed.sql - add new version, remove oldest
Update the changelog (add new version) Minor version change: change sourceError.html and source.html
Update the newsfeed Network protocol change: increase TCP_DRIVER_VERSION (old clients must be compatible!)
Documentation: check if all Javadoc files are in the index Benchmark: use latest versions of other dbs, change version(s) in performance.html
Check that there is no TODO in the docs Run ./buildRelease.sh / buildRelease.bat
Check code coverage
Run regression test with JDK 1.4 and 1.5
Use latest versions of other dbs
Change version(s) in performance.html
Run ./buildRelease.sh
Test with Hibernate
Run FindBugs
buildRelease.bat
Check docs, versions and links in main, downloads, build numbers
Check if missing javadocs
Test installer
Check in the PDF file:
- footer
- front page
- orphan control
- check images
- table of contents
Test Console
Test all languages
Scan for viruses Scan for viruses
Test installer, H2 Console (test new languages)
Check docs, versions and links in main, downloads, build numbers
Check the PDF file size
Upload to SourceForge Upload to SourceForge
Upload to ftp://h2database.com
Upload to http://code.google.com/p/h2database/downloads/list
svn commit svn commit
svn copy: /svn/trunk /svn/tags/version-1.1.x; Version 1.1.x (yyyy-mm-dd) svn copy: /svn/trunk /svn/tags/version-1.1.x; Version 1.1.x (yyyy-mm-dd)
Upload to h2database.com, http://code.google.com/p/h2database/downloads/list
Newsletter: prepare (always to BCC) Newsletter: prepare (always to BCC)
Newsletter: send to h2-database-jp@googlegroups.com; h2-database@googlegroups.com; h2database-news@googlegroups.com; Newsletter: send to h2-database-jp@googlegroups.com; h2-database@googlegroups.com; h2database-news@googlegroups.com; ...
Remove contacts in GMail
Add to freshmeat Add to freshmeat
Change version: http://en.wikipedia.org/wiki/H2_%28DBMS%29
Change version: http://ja.wikipedia.org/wiki/H2_Database
Change version: http://es.wikipedia.org/wiki/H2
Change version: http://www.heise.de/software/
Close bugs: http://code.google.com/p/h2database/issues/list Close bugs: http://code.google.com/p/h2database/issues/list
...@@ -15,38 +15,15 @@ CREATE TABLE ITEM(ID INT PRIMARY KEY, TITLE VARCHAR, ISSUED TIMESTAMP, DESC VARC ...@@ -15,38 +15,15 @@ CREATE TABLE ITEM(ID INT PRIMARY KEY, TITLE VARCHAR, ISSUED TIMESTAMP, DESC VARC
INSERT INTO ITEM VALUES(72, INSERT INTO ITEM VALUES(72,
'New version available: 1.2.122 (2009-10-28)', '2009-10-28 12:00:00', 'New version available: 1.2.122 (2009-10-28)', '2009-10-28 12:00:00',
$$A new version of H2 is available for <a href="http://www.h2database.com">download</a>. $$A new version of H2 is available for
<a href="http://www.h2database.com">download</a>.
(You may have to click 'Refresh'). (You may have to click 'Refresh').
<br /> <br />
<b>Changes and new functionality:</b> For details, see the
<ul><li>This is a beta version. <a href="http://www.h2database.com/html/changelog.html">change log</a>.
</li><li>The native fulltext search now supports streaming CLOB data.
</li><li>Page store: opening a large database was slow if it was not closed before.
</li><li>Page store: new write and read counters in the meta data table.
</li><li>If a database in the old format exists, it is now used.
</li><li>If the database URL ends with ;PAGE_STORE=TRUE and a database in
the old format exists, it is automatically converted to the new page store format.
</li><li>SHUTDOWN COMPACT now fully compacts the database.
</li><li>New system property h2.pageStoreTrim to disable shrinking the database.
</li><li>New system properties h2.maxCompactCount and h2.maxCompactTime.
</li><li>Dropping the current user is now allowed if another admin user exists.
</li><li>New sorted insert optimization (see Performance / Database Performance Tuning).
</li><li>The files h2*-sources.jar and h2*-javadoc.jar are now in the Maven repository.
</li><li>The SQL syntax is documented using (railroad) diagrams.
</li><li>The documentation is no longer available in Japanese.
</li><li>Better support GaeVFS (Google App Engine Virtual File System)
thanks to Thanks to Vince Bonfanti.
</li></ul>
<b>Bugfixes:</b>
<ul><li>Values of type BINARY or BLOB could not be converted to the data type OTHER.
</li><li>Certain queries were not sorted if subselect queries were involved.
</li><li>More bugs in the server-less multi-connection mode have been fixed.
</li></ul>
For details, see the 'Change Log' at
http://www.h2database.com/html/changelog.html
<br /> <br />
For future plans, see the 'Roadmap' page at For future plans, see the
http://www.h2database.com/html/roadmap.html <a href="http://www.h2database.com/html/roadmap.html">roadmap</a>.
$$); $$);
INSERT INTO ITEM VALUES(71, INSERT INTO ITEM VALUES(71,
...@@ -416,33 +393,6 @@ For future plans, see the 'Roadmap' page at ...@@ -416,33 +393,6 @@ For future plans, see the 'Roadmap' page at
http://www.h2database.com/html/roadmap.html http://www.h2database.com/html/roadmap.html
$$); $$);
INSERT INTO ITEM VALUES(59,
'New version available: 1.1.109 (2009-03-14)', '2009-03-14 12:00:00',
$$A new version of H2 is available for <a href="http://www.h2database.com">download</a>.
(You may have to click 'Refresh').
<br />
<b>Changes and new functionality:</b>
<ul><li>New experimental NIO storage (faster on Mac OS
but slower on Windows). Thanks a lot to Jan Kotek!
</li><li>User defined functions can now be deterministic.
</li><li>New system function TRANSACTION_ID().
</li><li>Bit functions and MOD now use BIGINT.
</li><li>The optimization for IN(...) is now only used if it helps.
</li></ul>
<b>Bugfixes:</b>
<ul><li>Could not use a linked table multiple times in the same query.
</li><li>Multiple nested queries with parameters did not always work.
</li><li>When converting CLOB to BINARY, each character resulted in one byte.
</li><li>Bugs in the server-less multi-connection mode have been fixed.
</li><li>Column names could not be named "UNIQUE" (with the quotes).
</li></ul>
For details, see the 'Change Log' at
http://www.h2database.com/html/changelog.html
<br />
For future plans, see the 'Roadmap' page at
http://www.h2database.com/html/roadmap.html
$$);
SELECT 'newsfeed-rss.xml' FILE, SELECT 'newsfeed-rss.xml' FILE,
XMLSTARTDOC() || XMLSTARTDOC() ||
XMLNODE('rss', XMLATTR('version', '2.0'), XMLNODE('rss', XMLATTR('version', '2.0'),
......
...@@ -297,12 +297,6 @@ java org.h2.test.TestAll timer ...@@ -297,12 +297,6 @@ java org.h2.test.TestAll timer
/* /*
automate release
docs/javadocImpl file?
-sources.jar
check if sources.jar is not in installer and zip, but in maven
google app engine google app engine
documentation: rolling review at history.html documentation: rolling review at history.html
......
...@@ -618,4 +618,4 @@ notranslate vince bonfanti alphabetically sysdummy sysibm activation ...@@ -618,4 +618,4 @@ notranslate vince bonfanti alphabetically sysdummy sysibm activation
deactivation concatenating reproducing black railroads railroad radius moz deactivation concatenating reproducing black railroads railroad radius moz
imageio argb bilinear rendering stroke interpolation flip diagrams draw imageio argb bilinear rendering stroke interpolation flip diagrams draw
delim overlap subselect bitwise dclassifier dgenerate compacts chartrand phane delim overlap subselect bitwise dclassifier dgenerate compacts chartrand phane
sval sval cement
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论