提交 0e48726e authored 作者: Thomas Mueller's avatar Thomas Mueller

Prepare release.

上级 8eb0dba2
......@@ -18,7 +18,27 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>When the system property h2.lobInDatabase is set, the lob tables were always
<ul><li>-
</li></ul>
<h2>Version 1.3.146 Beta (2010-11-08)</h2>
<ul><li>This is a beta version. The next version will be 1.2.147. The differences between 1.2.x and 1.3.x are:
</li><li>In version 1.3.x, h2.lobInDatabase (store CLOB and BLOB in the database file) is enabled by default.
</li><li>In version 1.3.x, ANALYZE_AUTO is 2000 (automatic ANALYZE).
</li><li>In version 1.3.x, DB_CLOSE_ON_EXIT (the shutdown hook) is disabled by default.
</li><li>In version 1.3.x, DROP_RESTRICT (default action for DROP is RESTRICT) is enabled.
</li><li>In version 1.3.x, FUNCTIONS_IN_SCHEMA (allow to store functions in a schema) is enabled.
</li><li>In version 1.3.x, LARGE_TRANSACTIONS (support for very large transactions) is enabled.
Changes to tables without a primary key can be buffered to disk.
</li><li>In version 1.3.x, MAX_MEMORY_ROWS_DISTINCT is set to a 10000.
</li><li>In version 1.3.x, NESTED_JOINS (nested joins and right outer joins) is enabled.
</li><li>In version 1.3.x, OPTIMIZE_INSERT_FROM_SELECT (speed up CREATE TABLE ... AS SELECT) is enabled.
</li><li>In version 1.3.x, OPTIMIZE_OR (convert OR conditions to IN(..) if possible) is enabled.
</li><li>In version 1.3.x, QUERY_CACHE_SIZE is enabled.
</li><li>In version 1.3.x, SELECT_FOR_UPDATE_MVCC (MVCC and SELECT FOR UPDATE) is enabled.
</li><li>In version 1.3.x, RUNSCRIPT and SCRIPT (commands and tools), use UTF-8 by default (ScriptCommand.charset).
</li><li>In version 1.3.x, Lucene 3 is used by default. Issue 147.
</li><li>When the system property h2.lobInDatabase is set, the lob tables were always
created when closing the database, even if the tables were not needed.
</li><li>In the MySQL mode, SHOW TABLES didn't work, and meta data tables were not
case insensitive. Updatable result sets didn't work as expected. Issue 249.
......@@ -830,26 +850,5 @@ Change Log
</li><li>Improved read-only database detection.
</li></ul>
<h2>Version 1.2.123 (2009-11-08)</h2>
<ul><li>Page store: new databases can not be opened with older versions.
</li><li>Page store: updating large rows (rows with more than 2000 bytes of data)
could corrupt the database.
</li><li>Page store: inserting very large rows failed with ArrayIndexOutOfBoundsException.
</li><li>When using multi-threaded kernel mode, setting disabling locking (LOCK_MODE=0)
will now throw an exception. At this time this combination will result in corruption when
multiple threads try to update the same table.
</li><li>The fulltext search methods and fields are now protected instead of private,
to make the classes more easily extensible.
</li><li>The Lucene fulltext search now also returns the score.
</li><li> New function SCOPE_IDENTITY() to avoid problems when inserting
rows in a trigger.
</li><li>Statement.getGeneratedKeys() returned the wrong value if a trigger
changed the identity value after inserting the row.
</li><li>Improved error messages: identifiers and values are now quoted.
</li><li>Improved error message when casting a value failed:
the column name and type is included in the message.
</li><li>Improved support for GAE for Java thanks to Vince Bonfanti.
</li></ul>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
......@@ -17,7 +17,7 @@ Downloads
<h1>Downloads</h1>
<h3>Version ${version} (${versionDate})</h3>
<h3>Version ${version} (${versionDate}, Beta)</h3>
<p>
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe">Windows Installer</a>
<!-- sha1Exe --><br />
......
......@@ -35,7 +35,7 @@ Welcome to H2, the Java SQL database. The main features of H2 are:
<table style="border: 0px; margin: 0px 7px 12px 7px;">
<tr><td style="border: 0px; background-color: #eee;" colspan="2">
<h2 style="margin-top: 1em;">Download</h2>
Version ${version} (${versionDate}):
Version ${version} (${versionDate}) Beta:
</td></tr>
<tr><td style="border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe"><img style="border: 1px #00f solid;" src="images/download.png" alt="Download this database" width="22" height="20"/></a>
......
......@@ -43,7 +43,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Disable DB_CLOSE_ON_EXIT (the shutdown hook) by default.
</li><li>For RUNSCRIPT and SCRIPT (commands and tools), use UTF-8 by default
(ScriptCommand.charset).
</li><li>Use Lucene 3 by default.
</li></ul>
......
......@@ -22,6 +22,8 @@ Initial Developer: H2 Group
} else if (key == 'build') {
if (value == 64) {
tag = 'tags/version-1.0.' + value;
} else if (value == 146) {
tag = 'tags/version-1.3.' + build + '/h2';
} else if (value >= 120) {
tag = 'tags/version-1.2.' + value + '/h2';
} else if (value >= 100) {
......
......@@ -68,6 +68,8 @@ function go(file, line) {
var tag = 'trunk/h2';
if (build == 64) {
tag = 'tags/version-1.0.' + build;
} else if (build == 146) {
tag = 'tags/version-1.3.' + build + '/h2';
} else if (build >= 120) {
tag = 'tags/version-1.2.' + build + '/h2';
} else if (build >= 100) {
......
......@@ -21,17 +21,17 @@ public class Constants {
/**
* The build date is updated for each public release.
*/
public static final String BUILD_DATE_STABLE = "2010-10-15";
public static final String BUILD_DATE_STABLE = "2010-11-02";
/**
* The build id is incremented for each public release.
*/
public static final int BUILD_ID = 145;
public static final int BUILD_ID = 146;
/**
* The build id of the last stable release.
*/
public static final int BUILD_ID_STABLE = 144;
public static final int BUILD_ID_STABLE = 145;
/**
* If H2 is compiled to be included in a product, this should be set to
......@@ -64,7 +64,7 @@ public class Constants {
/**
* The minor version of this database.
*/
public static final int VERSION_MINOR = 2;
public static final int VERSION_MINOR = 3;
// Build.getLuceneVersion() uses an ugly hack to read this value
/**
......
......@@ -39,11 +39,11 @@ import org.h2.util.New;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
//## Java 1.4 end ##
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
import org.apache.lucene.index.IndexModifier;
import org.apache.lucene.search.Hits;
//## LUCENE2 end ##
/*## LUCENE3 begin ##
## LUCENE2 end ##*/
//## LUCENE3 begin ##
import java.io.File;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
......@@ -51,7 +51,7 @@ import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.Version;
import org.apache.lucene.index.IndexWriter;
## LUCENE3 end ##*/
//## LUCENE3 end ##
/**
* This class implements the full text search based on Apache Lucene.
......@@ -268,13 +268,13 @@ public class FullTextLucene extends FullText {
IndexAccess access = INDEX_ACCESS.get(path);
if (access == null) {
try {
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
boolean recreate = !IndexReader.indexExists(path);
Analyzer analyzer = new StandardAnalyzer();
access = new IndexAccess();
access.modifier = new IndexModifier(path, analyzer, recreate);
//## LUCENE2 end ##
/*## LUCENE3 begin ##
## LUCENE2 end ##*/
//## LUCENE3 begin ##
File f = new File(path);
Directory indexDir = FSDirectory.open(f);
boolean recreate = !IndexReader.indexExists(indexDir);
......@@ -286,7 +286,7 @@ public class FullTextLucene extends FullText {
access = new IndexAccess();
access.writer = writer;
access.searcher = new IndexSearcher(reader);
## LUCENE3 end ##*/
//## LUCENE3 end ##
} catch (IOException e) {
throw convertException(e);
}
......@@ -360,14 +360,14 @@ public class FullTextLucene extends FullText {
synchronized (INDEX_ACCESS) {
try {
INDEX_ACCESS.remove(indexPath);
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
access.modifier.flush();
access.modifier.close();
//## LUCENE2 end ##
/*## LUCENE3 begin ##
## LUCENE2 end ##*/
//## LUCENE3 begin ##
access.searcher.close();
access.writer.close();
## LUCENE3 end ##*/
//## LUCENE3 end ##
} catch (Exception e) {
throw convertException(e);
}
......@@ -395,7 +395,7 @@ public class FullTextLucene extends FullText {
}
try {
IndexAccess access = getIndexAccess(conn);
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
access.modifier.flush();
String path = getIndexPath(conn);
IndexReader reader = IndexReader.open(path);
......@@ -411,8 +411,8 @@ public class FullTextLucene extends FullText {
for (int i = 0; i < limit && i + offset < max; i++) {
Document doc = hits.doc(i + offset);
float score = hits.score(i + offset);
//## LUCENE2 end ##
/*## LUCENE3 begin ##
## LUCENE2 end ##*/
//## LUCENE3 begin ##
// take a reference as the searcher may change
Searcher searcher = access.searcher;
// reuse the same analyzer; it's thread-safe;
......@@ -436,7 +436,7 @@ public class FullTextLucene extends FullText {
ScoreDoc sd = docs.scoreDocs[i + offset];
Document doc = searcher.doc(sd.doc);
float score = sd.score;
## LUCENE3 end ##*/
//## LUCENE3 end ##
String q = doc.get(LUCENE_FIELD_QUERY);
if (data) {
int idx = q.indexOf(" WHERE ");
......@@ -459,10 +459,10 @@ public class FullTextLucene extends FullText {
result.addRow(q, score);
}
}
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
// TODO keep it open if possible
reader.close();
//## LUCENE2 end ##
## LUCENE2 end ##*/
} catch (Exception e) {
throw convertException(e);
}
......@@ -605,7 +605,7 @@ public class FullTextLucene extends FullText {
* @param row the row
*/
protected void insert(Object[] row) throws SQLException {
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
String query = getQuery(row);
Document doc = new Document();
doc.add(new Field(LUCENE_FIELD_QUERY, query,
......@@ -637,8 +637,8 @@ public class FullTextLucene extends FullText {
} catch (IOException e) {
throw convertException(e);
}
//## LUCENE2 end ##
/*## LUCENE3 begin ##
## LUCENE2 end ##*/
//## LUCENE3 begin ##
String query = getQuery(row);
Document doc = new Document();
doc.add(new Field(LUCENE_FIELD_QUERY, query,
......@@ -675,7 +675,7 @@ public class FullTextLucene extends FullText {
} catch (IOException e) {
throw convertException(e);
}
## LUCENE3 end ##*/
//## LUCENE3 end ##
}
/**
......@@ -687,12 +687,12 @@ public class FullTextLucene extends FullText {
String query = getQuery(row);
try {
Term term = new Term(LUCENE_FIELD_QUERY, query);
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
indexAccess.modifier.deleteDocuments(term);
//## LUCENE2 end ##
/*## LUCENE3 begin ##
## LUCENE2 end ##*/
//## LUCENE3 begin ##
indexAccess.writer.deleteDocuments(term);
## LUCENE3 end ##*/
//## LUCENE3 end ##
} catch (IOException e) {
throw convertException(e);
}
......@@ -726,23 +726,23 @@ public class FullTextLucene extends FullText {
/**
* The index modified.
*/
//## LUCENE2 begin ##
/*## LUCENE2 begin ##
IndexModifier modifier;
//## LUCENE2 end ##
## LUCENE2 end ##*/
/**
* The index writer.
*/
/*## LUCENE3 begin ##
//## LUCENE3 begin ##
IndexWriter writer;
## LUCENE3 end ##*/
//## LUCENE3 end ##
/**
* The index searcher.
*/
/*## LUCENE3 begin ##
//## LUCENE3 begin ##
Searcher searcher;
## LUCENE3 end ##*/
//## LUCENE3 end ##
}
}
......@@ -7,6 +7,7 @@
CREATE TABLE VERSION(ID INT PRIMARY KEY, VERSION VARCHAR, CREATED VARCHAR);
INSERT INTO VERSION VALUES
(96, '1.3.146 Beta', '2010-11-08'),
(95, '1.2.145', '2010-11-02'),
(94, '1.2.144', '2010-10-15'),
(93, '1.2.143', '2010-09-18'),
......@@ -21,7 +22,6 @@ INSERT INTO VERSION VALUES
(84, '1.2.134', '2010-04-23'),
(83, '1.2.133', '2010-04-10'),
(82, '1.2.132', '2010-03-21'),
(81, '1.2.131', '2010-03-05'),
;
CREATE TABLE CHANNEL(TITLE VARCHAR, LINK VARCHAR, DESC VARCHAR,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论