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

--no commit message

--no commit message
上级 fceb8db0
...@@ -18,7 +18,9 @@ Change Log ...@@ -18,7 +18,9 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>Natural join: the joined columns are not repeated any more when using SELECT *. <ul><li>The fulltext search documentation has been improved.
</li><li>ARRAY_GET returned the wrong data type (ARRAY). Now it returns VARCHAR.
</li><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 </li><li>User defined aggregate functions: the method getType expected internal data types
instead of SQL types. instead of SQL types.
</li><li>User defined aggregate functions did not work if there was no group by expression. </li><li>User defined aggregate functions did not work if there was no group by expression.
......
...@@ -54,7 +54,7 @@ Of course, patches are always welcome, but are not always applied as is. Patches ...@@ -54,7 +54,7 @@ Of course, patches are always welcome, but are not always applied as is. Patches
</li><li>Change LOB mechanism (less files, keep index of lob files, point to files and row, delete unused files earlier, maybe bundle files into a tar file) </li><li>Change LOB mechanism (less files, keep index of lob files, point to files and row, delete unused files earlier, maybe bundle files into a tar file)
</li><li>Clustering: recovery needs to becomes fully automatic. Global write lock feature. </li><li>Clustering: recovery needs to becomes fully automatic. Global write lock feature.
</li><li>Option for Java functions: [DETERMINISTIC] FOR ... </li><li>Option for Java functions: [DETERMINISTIC] FOR ...
</li><li>Improved fulltext search (supports LOBs). </li><li>Fulltext search: support streaming CLOB data.
</li><li>Support mixed clustering mode (one embedded, the other server mode) </li><li>Support mixed clustering mode (one embedded, the other server mode)
</li><li>Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE </li><li>Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE
</li><li>Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED) </li><li>Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED)
...@@ -181,7 +181,7 @@ Of course, patches are always welcome, but are not always applied as is. Patches ...@@ -181,7 +181,7 @@ Of course, patches are always welcome, but are not always applied as is. Patches
</li><li>Support linked JCR tables </li><li>Support linked JCR tables
</li><li>Make sure H2 is supported by Execute Query: http://executequery.org/ </li><li>Make sure H2 is supported by Execute Query: http://executequery.org/
</li><li>Read InputStream when executing, as late as possible (maybe only embedded mode). Problem with re-execute. </li><li>Read InputStream when executing, as late as possible (maybe only embedded mode). Problem with re-execute.
</li><li>Fulltext search: min word length; store word positions </li><li>Native fulltext search: min word length; store word positions
</li><li>FTP Server: Implement a client to send / receive files to server (dir, get, put) </li><li>FTP Server: Implement a client to send / receive files to server (dir, get, put)
</li><li>FTP Server: Implement SFTP / FTPS </li><li>FTP Server: Implement SFTP / FTPS
</li><li>Add an option to the SCRIPT command to generate only portable / standard SQL </li><li>Add an option to the SCRIPT command to generate only portable / standard SQL
...@@ -287,7 +287,6 @@ Of course, patches are always welcome, but are not always applied as is. Patches ...@@ -287,7 +287,6 @@ Of course, patches are always welcome, but are not always applied as is. Patches
</li><li>Change package name in version 2.0: org.h2database </li><li>Change package name in version 2.0: org.h2database
</li><li>MVCC: support transactionally consistent backups using SCRIPT </li><li>MVCC: support transactionally consistent backups using SCRIPT
</li><li>Improve time to open large databases (see mail 'init time for distributed setup') </li><li>Improve time to open large databases (see mail 'init time for distributed setup')
</li><li>Use ARRAY for fulltext search return value, at least internally in the native implementation (and as an option for the user)
</li><li>Move Maven 2 repository from hsql.sf.net to h2database.sf.net </li><li>Move Maven 2 repository from hsql.sf.net to h2database.sf.net
</li><li>Java 1.5 tool: JdbcUtils.closeSilently(s1, s2,...) </li><li>Java 1.5 tool: JdbcUtils.closeSilently(s1, s2,...)
</li><li>Javadoc: document design patterns used </li><li>Javadoc: document design patterns used
...@@ -385,6 +384,9 @@ Of course, patches are always welcome, but are not always applied as is. Patches ...@@ -385,6 +384,9 @@ Of course, patches are always welcome, but are not always applied as is. Patches
</li><li>Avoid using java.util.Calendar internally because it's slow, complicated, and seems to be buggy. </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 TRUNCATE .. CASCADE like PostgreSQL.
</li><li>Support opening a database that is in the classpath, maybe using a new file system. </li><li>Support opening a database that is in the classpath, maybe using a new file system.
</li><li>Fulltext search: lazy result generation using SimpleRowSource.
</li><li>Support transformation to join for user defined functions, as for IN(SELECT...).
</li><li>Fulltext search: Support alternative syntax: WHERE FTL_CONTAINS(name, 'hello').
</li></ul> </li></ul>
<h2>Not Planned</h2> <h2>Not Planned</h2>
......
...@@ -775,10 +775,12 @@ This will produce a result set that contains the query needed to retrieve the da ...@@ -775,10 +775,12 @@ This will produce a result set that contains the query needed to retrieve the da
QUERY: "PUBLIC"."TEST" WHERE "ID"=1 QUERY: "PUBLIC"."TEST" WHERE "ID"=1
</p> </p>
<p> <p>
If you prefer the raw data, use <code>FT_SEARCH_DATA('Hello', 0, 0);</code>. To get the raw data, use <code>FT_SEARCH_DATA('Hello', 0, 0);</code>.
The result contains the columns SCHEMA (the schema name), The result contains the columns SCHEMA (the schema name),
TABLE (the table name), COLUMNS (an array of column names), and KEYS TABLE (the table name), COLUMNS (an array of column names), and KEYS
(an array of objects). (an array of objects). To join a table, use a join as in:
<code>SELECT T.*FROM FT_SEARCH_DATA('Hello', 0, 0) FT, TEST T
WHERE FT.TABLE='TEST' AND T.ID= FT.KEYS[0];</code>
</p> </p>
<p> <p>
You can also call the index from within a Java application: You can also call the index from within a Java application:
...@@ -823,10 +825,12 @@ This will produce a result set that contains the query needed to retrieve the da ...@@ -823,10 +825,12 @@ This will produce a result set that contains the query needed to retrieve the da
QUERY: "PUBLIC"."TEST" WHERE "ID"=1 QUERY: "PUBLIC"."TEST" WHERE "ID"=1
</p> </p>
<p> <p>
If you prefer the raw data, use <code>FT_SEARCH_DATA('Hello', 0, 0);</code>. To get the raw data, use <code>FT_SEARCH_DATA('Hello', 0, 0);</code>.
The result contains the columns SCHEMA (the schema name), The result contains the columns SCHEMA (the schema name),
TABLE (the table name), COLUMNS (an array of column names), and KEYS TABLE (the table name), COLUMNS (an array of column names), and KEYS
(an array of objects). (an array of objects). To join a table, use a join as in:
<code>SELECT T.*FROM FT_SEARCH_DATA('Hello', 0, 0) FT, TEST T
WHERE FT.TABLE='TEST' AND T.ID= FT.KEYS[0];</code>
</p> </p>
<p> <p>
You can also call the index from within a Java application: You can also call the index from within a Java application:
......
#!/bin/sh #!/bin/sh
cd ../.. cd ../..
today=$(date "+%Y-%m-%d") set TODAY=$(date "+%Y-%m-%d")
rmdir -r ../h2web-$today rm -r ../h2web-$TODAY
rmdir -r ../h2web rm -r ../h2web
mkdir ../h2web mkdir ../h2web
rmdir -r bin rm -r bin
rmdir /s /q temp rm -r temp
call java14 set JAVA_HOME=$JAVA14
set PATH=$JAVA14/bin:$PATH
./build.sh -quiet ./build.sh -quiet
call java16 set JAVA_HOME=$JAVA16
call build -quiet compile set PATH=$JAVA16/bin:$PATH
call build -quiet spellcheck javadocImpl jarClient ./build.sh -quiet compile
./build.sh -quiet spellcheck javadocImpl jarClient
echo $(date "+%H:%M:%S") JDK 1.4 echo $(date "+%H:%M:%S") JDK 1.4
call java14 set JAVA_HOME=$JAVA14
set PATH=$JAVA14/bin:$PATH
./build.sh -quiet clean compile ./build.sh -quiet clean compile
./build.sh -quiet installer mavenDeployCentral ./build.sh -quiet installer mavenDeployCentral
rem ./build.sh -quiet compile benchmark # ./build.sh -quiet compile benchmark
rem == Copy the benchmark results and update the performance page and diagram # == Copy the benchmark results and update the performance page and diagram
call java16 set JAVA_HOME=$JAVA16
set PATH=$JAVA16/bin:$PATH
./build.sh -quiet switchSource ./build.sh -quiet switchSource
mv ../h2web h2web-%today% mv ../h2web h2web-$TODAY
echo $(date "+%H:%M:%S") Done echo $(date "+%H:%M:%S") Done
...@@ -41,13 +41,13 @@ public class PageLog { ...@@ -41,13 +41,13 @@ public class PageLog {
output = store.createDataPage(); output = store.createDataPage();
} }
void open() throws SQLException { // void open() throws SQLException {
if (firstPage == 0) { // if (firstPage == 0) {
return; // return;
} // }
undo(); // undo();
prepareOutput(); // prepareOutput();
} // }
private void prepareOutput() { private void prepareOutput() {
output.reset(); output.reset();
...@@ -64,18 +64,18 @@ public class PageLog { ...@@ -64,18 +64,18 @@ public class PageLog {
} }
} }
void addUndo(int pageId) throws SQLException { // void addUndo(int pageId) throws SQLException {
if (undo.get(pageId)) { // if (undo.get(pageId)) {
return; // return;
} // }
undo.set(pageId); // undo.set(pageId);
data.reset(); // data.reset();
data.writeByte((byte) 1); // data.writeByte((byte) 1);
data.writeInt(pageId); // data.writeInt(pageId);
DataPageBinary p = store.readPage(pageId); // DataPageBinary p = store.readPage(pageId);
data.write(p.getBytes(), 0, store.getPageSize()); // data.write(p.getBytes(), 0, store.getPageSize());
write(data.getBytes(), 0, data.length()); // write(data.getBytes(), 0, data.length());
} // }
private void write(byte[] data, int offset, int length) { private void write(byte[] data, int offset, int length) {
if (bufferPos + length > store.getPageSize()) { if (bufferPos + length > store.getPageSize()) {
......
...@@ -283,14 +283,7 @@ java org.h2.test.TestAll timer ...@@ -283,14 +283,7 @@ java org.h2.test.TestAll timer
System.setProperty("h2.check2", "true"); 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... 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; JCR: for each node type, create a table; one 'dynamic' table with parameter;
option to cache the results option to cache the results
<link rel="icon" type="image/png" href="/path/image.png"> <link rel="icon" type="image/png" href="/path/image.png">
......
...@@ -574,4 +574,4 @@ statisticlog activeobjects manske redeployment michael kaspersky datatext ...@@ -574,4 +574,4 @@ statisticlog activeobjects manske redeployment michael kaspersky datatext
bleyl donald conservative offsets diabetes ansorg allocating osmond gluco bleyl donald conservative offsets diabetes ansorg allocating osmond gluco
joachim mysqladmin sudo mysqld indicator wire ring relates expedites joachim mysqladmin sudo mysqld indicator wire ring relates expedites
approximated approximation dvan dsn dobysoft ebean syswow tmueller dbbench approximated approximation dvan dsn dobysoft ebean syswow tmueller dbbench
connecturl connecturl problematic transformation lazy
\ No newline at end of file \ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论