提交 03d917b3 authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 0f9001ea
......@@ -18,10 +18,14 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>MySQL compatibility: support for := assignment as in @sum:=@sum+x
<ul><li>Natural join: the joined columns are not repeated any more when using SELECT *.
</li><li>User defined aggregate functions: the method getType expected internal data types
instead of SQL types.
</li><li>User defined aggregate functions did not work if there was no group by expression.
</li><li>MySQL compatibility: support for := assignment as in @sum:=@sum+x
</li><li>INSERT INTO TEST(SELECT * FROM TEST) is now supported.
</li><li>Each session threw an invisible exception when garbage collected.
</li><li>Foreign key constraints referring to a quoted column did not work.
</li><li>Foreign key constraints that refer to a quoted column did not work.
</li><li>New meta data column INFORMATION_SCHEMA.TABLES.LAST_MODIFICATION to get
the table modification counter.
</li><li>Shell: line comments didn't work correctly.
......
......@@ -469,7 +469,7 @@ SmartFoxServer</a><br />
Platform for developing multiuser applications and games with Macromedia Flash.
</p>
<p><a href="http://sqlorm.sourceforge.net/index.html>
<p><a href="http://sqlorm.sourceforge.net/index.html">
SQLOrm</a><br />
Java Object Relation Mapping.
</p>
......
......@@ -290,15 +290,15 @@ It was developed / sponsored by db4o.
<p>
There are a few problems with the PolePosition test:
</p>
<ul><li>
HSQLDB uses in-memory tables by default while H2 uses persistent tables. The HSQLDB version
included in PolePosition does not support changing this, so you need to replace
poleposition-0.20/lib/hsqldb.jar with a newer version (for example hsqldb-1.8.0.7.jar),
and then use the setting
<ul><li>
HSQLDB uses in-memory tables by default while H2 uses persistent tables. The HSQLDB version
included in PolePosition does not support changing this, so you need to replace
poleposition-0.20/lib/hsqldb.jar with a newer version (for example hsqldb-1.8.0.7.jar),
and then use the setting
hsqldb.connecturl=jdbc:hsqldb:file:data/hsqldb/dbbench2;hsqldb.default_table_type=cached;sql.enforce_size=true in Jdbc.properties.
</li><li>HSQLDB keeps the database open between tests, while H2 closes the database (losing all the cache).
</li><li>HSQLDB keeps the database open between tests, while H2 closes the database (losing all the cache).
To change that, use the database URL jdbc:h2:file:data/h2/dbbench;DB_CLOSE_DELAY=-1
</li><li>The amount of cache memory is quite important, specially for the PolePosition test.
</li><li>The amount of cache memory is quite important, specially for the PolePosition test.
Unfortunately, the PolePosition test does not take this into account.
</li></ul>
......
......@@ -262,7 +262,6 @@ Of course, patches are always welcome, but are not always applied as is. Patches
</li><li>Server: use one listener (detect if the request comes from an PG or TCP client)
</li><li>Store dates as 'local'. Existing files use GMT. Use escape syntax for compatibility.
</li><li>Support data type INTERVAL
</li><li>NATURAL JOIN: MySQL and PostgreSQL don't repeat columns when using SELECT * ...
</li><li>Optimize SELECT MIN(ID), MAX(ID), COUNT(*) FROM TEST WHERE ID BETWEEN 100 AND 200
</li><li>Support Oracle functions: TRUNC, NVL2, TO_CHAR, TO_DATE, TO_NUMBER
</li><li>Sequence: PostgreSQL compatibility (rename, create) (http://www.postgresql.org/docs/8.2/static/sql-altersequence.html)
......@@ -385,6 +384,7 @@ Of course, patches are always welcome, but are not always applied as is. Patches
</li><li>AUTO_SERVER: support changing IP addresses (disable a network while the database is open).
</li><li>Avoid using java.util.Calendar internally because it's slow, complicated, and seems to be buggy.
</li><li>Support TRUNCATE .. CASCADE like PostgreSQL.
</li><li>Support opening a database that is in the classpath, maybe using a new file system.
</li></ul>
<h2>Not Planned</h2>
......
......@@ -769,10 +769,23 @@ To search the index, use the following query:
SELECT * FROM FT_SEARCH('Hello', 0, 0);
</pre>
<p>
This will produce a result set that contains the query needed to retrieve the data:
</p>
<p>
QUERY: "PUBLIC"."TEST" WHERE "ID"=1
</p>
<p>
If you prefer the raw data, use <code>FT_SEARCH_DATA('Hello', 0, 0);</code>.
The result contains the columns SCHEMA (the schema name),
TABLE (the table name), COLUMNS (an array of column names), and KEYS
(an array of objects).
</p>
<p>
You can also call the index from within a Java application:
</p>
<pre>
org.h2.fulltext.FullText.search(conn, text, limit, offset)
org.h2.fulltext.FullText.search(conn, text, limit, offset);
org.h2.fulltext.FullText.searchData(conn, text, limit, offset);
</pre>
<h3>Using the Lucene Fulltext Search</h3>
......@@ -797,16 +810,30 @@ CALL FTL_CREATE_INDEX('PUBLIC', 'TEST', NULL);
</pre>
<p>
PUBLIC is the schema, TEST is the table name. The list of column names (column separated) is optional,
in this case all columns are indexed. The index is updated in read time. To search the index, use the following query:
in this case all columns are indexed. The index is updated in read time. To search the index,
use the following query:
</p>
<pre>
SELECT * FROM FTL_SEARCH('Hello', 0, 0);
</pre>
<p>
This will produce a result set that contains the query needed to retrieve the data:
</p>
<p>
QUERY: "PUBLIC"."TEST" WHERE "ID"=1
</p>
<p>
If you prefer the raw data, use <code>FT_SEARCH_DATA('Hello', 0, 0);</code>.
The result contains the columns SCHEMA (the schema name),
TABLE (the table name), COLUMNS (an array of column names), and KEYS
(an array of objects).
</p>
<p>
You can also call the index from within a Java application:
</p>
<pre>
org.h2.fulltext.FullTextLucene.search(conn, text, limit, offset)
org.h2.fulltext.FullTextLucene.search(conn, text, limit, offset);
org.h2.fulltext.FullTextLucene.searchData(conn, text, limit, offset);
</pre>
<br /><a name="user_defined_variables"></a>
......
......@@ -283,6 +283,14 @@ java org.h2.test.TestAll timer
System.setProperty("h2.check2", "true");
/*
create table a(x array);
insert into a values((1, 2));
@META SELECT x[1] FROM a;
should be varchar
javadocs: check if there is a desc for a param, return...
add javadocs for fulltext package.
FTL_SEARCH_DATA function was documented
JCR: for each node type, create a table; one 'dynamic' table with parameter;
option to cache the results
<link rel="icon" type="image/png" href="/path/image.png">
......
......@@ -302,8 +302,10 @@ public class Build extends BuildBase {
delete("docs");
mkdir("docs/javadoc");
javadoc(new String[] { "-sourcepath", "src/main", "org.h2.jdbc", "org.h2.jdbcx",
"org.h2.tools", "org.h2.api", "org.h2.constant",
"-doclet", "org.h2.build.doclet.Doclet"});
"org.h2.tools", "org.h2.api", "org.h2.constant", "org.h2.fulltext",
"-doclet", "org.h2.build.doclet.Doclet",
"-classpath",
"ext/lucene-core-2.2.0.jar"});
copy("docs/javadoc", getFiles("src/docsrc/javadoc"), "src/docsrc/javadoc");
}
......
......@@ -150,6 +150,12 @@ public class BuildBase {
*/
protected void projectHelp() {
Method[] methods = getClass().getDeclaredMethods();
Arrays.sort(methods, new Comparator() {
public int compare(Object o1, Object o2) {
Method a = (Method) o1, b = (Method) o2;
return a.getName().compareTo(b.getName());
}
});
out.println("Targets:");
for (int i = 0; i < methods.length; i++) {
Method m = methods[i];
......
......@@ -573,4 +573,5 @@ daylight vision declarative shape formula webapp catalina study impact
statisticlog activeobjects manske redeployment michael kaspersky datatext
bleyl donald conservative offsets diabetes ansorg allocating osmond gluco
joachim mysqladmin sudo mysqld indicator wire ring relates expedites
approximated approximation dvan dsn dobysoft ebean syswow
\ No newline at end of file
approximated approximation dvan dsn dobysoft ebean syswow tmueller dbbench
connecturl
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论