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

--no commit message

--no commit message
上级 5feca64f
#Sun Jul 29 20:39:45 CEST 2007 #Fri Aug 24 22:06:59 CEST 2007
javac=javac javac=javac
benchmark.drivers.dir=C\:/data/java benchmark.drivers.dir=C\:/data/java
path.servlet.jar=C\:/data/classpath/servlet-api.jar path.servlet.jar=C\:/data/classpath/servlet-api.jar
version.name.maven=1.0.20070712 version.name.maven=1.0.20080825
jdk=1.4 jdk=1.4
...@@ -39,11 +39,12 @@ Frequently Asked Questions ...@@ -39,11 +39,12 @@ Frequently Asked Questions
<p> <p>
Usually, bugs get fixes as they are found. There is a release every few weeks. Usually, bugs get fixes as they are found. There is a release every few weeks.
Here is the list of known and confirmed issues as of Here is the list of known and confirmed issues as of
2007-08-02: 2007-08-25:
</p> </p>
<ul> <ul>
<li>Some problems have been found with right outer join. Internally, it is converted to left outer join, which <li>Some problems have been found with right outer join. Internally, it is converted to left outer join, which
does not always produce the same results as other databases when used in combination with other joins. does not always produce the same results as other databases when used in combination with other joins.
</li><li>Using a CAST in a GROUP BY expression that is used in a view does not always work.
</li></ul> </li></ul>
<br /><a name="open_source"></a> <br /><a name="open_source"></a>
......
...@@ -39,7 +39,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch. ...@@ -39,7 +39,7 @@ Hypersonic SQL or HSQLDB. H2 is built from scratch.
<h3>Version 1.0 (Current)</h3> <h3>Version 1.0 (Current)</h3>
<h3>Version 1.0 / TODO (Build xx)</h3><ul> <h3>Version 1.0 / 2008-08-25 (Build 57)</h3><ul>
<li>New experimental feature MVCC (multi version concurrency control). <li>New experimental feature MVCC (multi version concurrency control).
Can be set as a option when opening the database (jdbc:h2:test;MVCC=TRUE) Can be set as a option when opening the database (jdbc:h2:test;MVCC=TRUE)
or as a system property (-Dh2.mvcc=true). This is work-in-progress, use it at your own risk. Feedback is welcome. or as a system property (-Dh2.mvcc=true). This is work-in-progress, use it at your own risk. Feedback is welcome.
......
...@@ -122,11 +122,10 @@ public class ErrorCode { ...@@ -122,11 +122,10 @@ public class ErrorCode {
* conn = null; * conn = null;
* The connection was not closed by the application and is garbage collected * The connection was not closed by the application and is garbage collected
* </pre> * </pre>
*
* Correct: * Correct:
*
* <pre> * <pre>
* conn.close(); * conn.close();
* </pre>
* *
*/ */
public static final int TRACE_CONNECTION_NOT_CLOSED = 90018; public static final int TRACE_CONNECTION_NOT_CLOSED = 90018;
......
...@@ -30,7 +30,7 @@ import org.h2.constant.SysProperties; ...@@ -30,7 +30,7 @@ import org.h2.constant.SysProperties;
* - Maybe increase TCP_DRIVER_VERSION * - Maybe increase TCP_DRIVER_VERSION
* - Check code coverage * - Check code coverage
* - No " Message.getInternalError" (must be "throw Message.getInternalError") * - No " Message.getInternalError" (must be "throw Message.getInternalError")
* - No TODO in the docs * - No TODO in the docs, remove @~ in .utf8.txt files
* - Run regression test with JDK 1.4 and 1.5 * - Run regression test with JDK 1.4 and 1.5
* - Change version(s) in performance.html; use latest versions of other databases * - Change version(s) in performance.html; use latest versions of other databases
* - Run 'ant benchmark' (with JDK 1.4 currently) * - Run 'ant benchmark' (with JDK 1.4 currently)
...@@ -66,8 +66,8 @@ import org.h2.constant.SysProperties; ...@@ -66,8 +66,8 @@ import org.h2.constant.SysProperties;
*/ */
public class Constants { public class Constants {
public static final int BUILD_ID = 56; public static final int BUILD_ID = 57;
private static final String BUILD = "2007-08-02"; private static final String BUILD = "2007-08-25";
public static final int VERSION_MAJOR = 1; public static final int VERSION_MAJOR = 1;
public static final int VERSION_MINOR = 0; public static final int VERSION_MINOR = 0;
......
...@@ -9,57 +9,56 @@ import org.h2.table.Table; ...@@ -9,57 +9,56 @@ import org.h2.table.Table;
import org.h2.util.ObjectArray; import org.h2.util.ObjectArray;
public interface DbObject { public interface DbObject {
public static final int INDEX = 1; int INDEX = 1;
public static final int SEQUENCE = 3; int SEQUENCE = 3;
public static final int TABLE_OR_VIEW = 0; int TABLE_OR_VIEW = 0;
public static final int TRIGGER = 4; int TRIGGER = 4;
public static final int USER = 2; int USER = 2;
public static final int CONSTRAINT = 5; int CONSTRAINT = 5;
public static final int FUNCTION_ALIAS = 9; int FUNCTION_ALIAS = 9;
public static final int RIGHT = 8; int RIGHT = 8;
public static final int ROLE = 7; int ROLE = 7;
public static final int SETTING = 6; int SETTING = 6;
public static final int CONSTANT = 11; int CONSTANT = 11;
public static final int SCHEMA = 10; int SCHEMA = 10;
public static final int COMMENT = 13; int COMMENT = 13;
public static final int USER_DATATYPE = 12; int USER_DATATYPE = 12;
public abstract void setModified(); void setModified();
public abstract long getModificationId(); long getModificationId();
public abstract String getSQL(); String getSQL();
public abstract ObjectArray getChildren(); ObjectArray getChildren();
public abstract Database getDatabase(); Database getDatabase();
public abstract int getId(); int getId();
public abstract String getName(); String getName();
public abstract String getCreateSQLForCopy(Table table, String quotedName); String getCreateSQLForCopy(Table table, String quotedName);
public abstract String getCreateSQL(); String getCreateSQL();
public abstract String getDropSQL(); String getDropSQL();
public abstract int getType(); int getType();
public abstract void removeChildrenAndResources(Session session) void removeChildrenAndResources(Session session) throws SQLException;
throws SQLException;
public abstract void checkRename() throws SQLException; void checkRename() throws SQLException;
public abstract void rename(String newName) throws SQLException; void rename(String newName) throws SQLException;
public abstract boolean getTemporary(); boolean getTemporary();
public abstract void setTemporary(boolean temporary); void setTemporary(boolean temporary);
public abstract void setComment(String comment); void setComment(String comment);
public abstract String getComment(); String getComment();
public abstract int getHeadPos(); int getHeadPos();
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
package org.h2.index; package org.h2.index;
import java.sql.SQLException; import java.sql.SQLException;
import org.h2.engine.Session; import org.h2.engine.Session;
import org.h2.result.Row; import org.h2.result.Row;
import org.h2.result.SearchRow; import org.h2.result.SearchRow;
...@@ -14,59 +15,54 @@ import org.h2.table.Table; ...@@ -14,59 +15,54 @@ import org.h2.table.Table;
public interface Index extends SchemaObject { public interface Index extends SchemaObject {
public static final int EMPTY_HEAD = -1; int EMPTY_HEAD = -1;
public abstract SQLException getDuplicateKeyException(); SQLException getDuplicateKeyException();
public abstract String getPlanSQL(); String getPlanSQL();
public abstract void close(Session session) throws SQLException; void close(Session session) throws SQLException;
public abstract void add(Session session, Row row) throws SQLException; void add(Session session, Row row) throws SQLException;
public abstract void remove(Session session, Row row) throws SQLException; void remove(Session session, Row row) throws SQLException;
public abstract Cursor find(Session session, SearchRow first, SearchRow last) Cursor find(Session session, SearchRow first, SearchRow last) throws SQLException;
throws SQLException;
public abstract double getCost(Session session, int[] masks) double getCost(Session session, int[] masks) throws SQLException;
throws SQLException;
public abstract void remove(Session session) throws SQLException; void remove(Session session) throws SQLException;
public abstract void truncate(Session session) throws SQLException; void truncate(Session session) throws SQLException;
public abstract boolean canGetFirstOrLast(boolean first); boolean canGetFirstOrLast(boolean first);
public abstract SearchRow findFirstOrLast(Session session, boolean first) SearchRow findFirstOrLast(Session session, boolean first) throws SQLException;
throws SQLException;
public abstract boolean needRebuild(); boolean needRebuild();
public abstract long getRowCount(Session session); long getRowCount(Session session);
public abstract int getLookupCost(long rowCount); int getLookupCost(long rowCount);
public abstract long getCostRangeIndex(int[] masks, long rowCount) long getCostRangeIndex(int[] masks, long rowCount) throws SQLException;
throws SQLException;
public abstract int compareRows(SearchRow rowData, SearchRow compare) int compareRows(SearchRow rowData, SearchRow compare) throws SQLException;
throws SQLException;
public abstract boolean isNull(Row newRow); boolean isNull(Row newRow);
public abstract int compareKeys(SearchRow rowData, SearchRow compare); int compareKeys(SearchRow rowData, SearchRow compare);
public abstract int getColumnIndex(Column col); int getColumnIndex(Column col);
public abstract String getColumnListSQL(); String getColumnListSQL();
public abstract Column[] getColumns(); Column[] getColumns();
public abstract IndexType getIndexType(); IndexType getIndexType();
public abstract Table getTable(); Table getTable();
public abstract void commit(int operation, Row row) throws SQLException; void commit(int operation, Row row) throws SQLException;
} }
\ No newline at end of file
...@@ -155,4 +155,4 @@ ...@@ -155,4 +155,4 @@
HY000=\u4e00\u822c\u30a8\u30e9\u30fc\: {0} HY000=\u4e00\u822c\u30a8\u30e9\u30fc\: {0}
HY004=\u4e0d\u660e\u306a\u30c7\u30fc\u30bf\u578b\: {0} HY004=\u4e0d\u660e\u306a\u30c7\u30fc\u30bf\u578b\: {0}
HYC00=\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093 HYC00=\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
HYT00=\u30c6\u30fc\u30d6\u30eb {0} \u306e\u30ed\u30c3\u30af\u8a66\u884c\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f HYT00=\u30c6\u30fc\u30d6\u30eb {0} \u306e\u30ed\u30c3\u30af\u8a66\u884c\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f
\ No newline at end of file
...@@ -7,7 +7,7 @@ package org.h2.schema; ...@@ -7,7 +7,7 @@ package org.h2.schema;
import org.h2.engine.DbObject; import org.h2.engine.DbObject;
public interface SchemaObject extends DbObject { public interface SchemaObject extends DbObject {
public abstract Schema getSchema(); Schema getSchema();
public abstract String getSQL(); String getSQL();
} }
\ No newline at end of file
...@@ -451,7 +451,7 @@ public abstract class Table extends SchemaObjectBase { ...@@ -451,7 +451,7 @@ public abstract class Table extends SchemaObjectBase {
public void setCheckForeignKeyConstraints(Session session, boolean enabled, boolean checkExisting) throws SQLException { public void setCheckForeignKeyConstraints(Session session, boolean enabled, boolean checkExisting) throws SQLException {
if(enabled && checkExisting) { if(enabled && checkExisting) {
for(int i=0; i<constraints.size(); i++) { for(int i=0; constraints != null && i<constraints.size(); i++) {
Constraint c = (Constraint) constraints.get(i); Constraint c = (Constraint) constraints.get(i);
c.checkExistingData(session); c.checkExistingData(session);
} }
......
...@@ -58,7 +58,7 @@ public abstract class CacheObject { ...@@ -58,7 +58,7 @@ public abstract class CacheObject {
return false; return false;
} }
abstract public boolean canRemove(); public abstract boolean canRemove();
/* /*
* Get the estimated memory size. * Get the estimated memory size.
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论