提交 825f08f6 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation.

上级 15dd878d
......@@ -19,7 +19,7 @@ Change Log
<h2>Next Version (unreleased)</h2>
<ul><li>Fulltext search (native): after re-opening the connection once the fulltext index was created,
transaction rollbacks did not roll back the modifications in the index.
a transaction rollback did not roll back the modifications in the index.
</li><li>Support for ROW_NUMBER() OVER() as an alias for ROWNUM()
for compatibility with PostgreSQL and Apache Derby.
</li><li>Issue 325: a deadlock in the fulltext search could occur if the connection that was
......
......@@ -16,7 +16,7 @@ Initial Developer: H2 Group
<div id = "searchMenu" style="width: 180px; overflow: hidden;">
<div class="menu" style="white-space:nowrap;">
<img src="images/h2-logo.png" alt="H2 database logo" onclick="document.location='main.html'" width="136" height="74"/>
&nbsp;&nbsp;<span id = "goTop" onclick="window.scrollTo(0,0)" style="color: #fff; position:fixed; font-size: 20px">&#x25b2;</span>
&nbsp;&nbsp;<span id = "goTop" onclick="window.scrollTo(0,0)" style="color: #fff; position:fixed; font-size: 20px; cursor: pointer;">&#x25b2;</span>
</div>
<form action="submit" onsubmit="return goFirst();">
......
......@@ -553,7 +553,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Support NATURAL [ { LEFT | RIGHT } [ OUTER ] | INNER ] JOIN (Derby, Oracle)
</li><li>GROUP BY columnNumber (similar to ORDER BY columnNumber) (MySQL, PostgreSQL, SQLite; not by HSQLDB and Derby).
</li><li>Sybase / MS SQL Server compatibility: CONVERT(..) parameters are swapped.
</li><li>Index conditions: WHERE AGE>1 should not scan though all rows with AGE=1.
</li><li>Index conditions: WHERE AGE>1 should not scan through all rows with AGE=1.
</li></ul>
<h2>Not Planned</h2>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -1334,7 +1334,7 @@ READONLY()
","
Returns true if the database is read-only."
"Functions (System)","ROWNUM","
ROWNUM()
{ ROWNUM() } | { ROW_NUMBER() OVER() }
","
Returns the number of the current row."
"Functions (System)","SCHEMA","
......
......@@ -1298,7 +1298,7 @@ public abstract class TestBase {
expectedExceptionClass.getSimpleName() +
" to be thrown, but the method returned " +
returnValue +
" for " + ProxyCodeGenerator.methodCallFormatter(m, args));
" for " + ProxyCodeGenerator.formatMethodCall(m, args));
}
if (!expectedExceptionClass.isAssignableFrom(t.getClass())) {
AssertionError ae = new AssertionError(
......@@ -1307,7 +1307,7 @@ public abstract class TestBase {
" to be thrown, but the method under test threw an exception of type\n" +
t.getClass().getSimpleName() +
" (see in the 'Caused by' for the exception that was thrown) " +
" for " + ProxyCodeGenerator.methodCallFormatter(m, args));
" for " + ProxyCodeGenerator.formatMethodCall(m, args));
ae.initCause(t);
throw ae;
}
......@@ -1350,7 +1350,7 @@ public abstract class TestBase {
* Verify the next method call on the object will throw an exception.
*
* @param <T> the class of the object
* @param handler the exception handler to call
* @param verifier the result verifier to call
* @param obj the object to wrap
* @return a proxy for the object
*/
......
......@@ -34,7 +34,7 @@ public abstract class AssertThrows {
expectedExceptionClass.getSimpleName() +
" to be thrown, but the method returned " +
returnValue +
" for " + ProxyCodeGenerator.methodCallFormatter(m, args));
" for " + ProxyCodeGenerator.formatMethodCall(m, args));
}
if (!expectedExceptionClass.isAssignableFrom(t.getClass())) {
AssertionError ae = new AssertionError(
......@@ -43,7 +43,7 @@ public abstract class AssertThrows {
" to be thrown, but the method under test threw an exception of type\n" +
t.getClass().getSimpleName() +
" (see in the 'Caused by' for the exception that was thrown) " +
" for " + ProxyCodeGenerator.methodCallFormatter(m, args));
" for " + ProxyCodeGenerator.formatMethodCall(m, args));
ae.initCause(t);
throw ae;
}
......@@ -63,7 +63,7 @@ public abstract class AssertThrows {
throw new AssertionError(
"Expected an exception to be thrown, but the method returned " +
returnValue +
" for " + ProxyCodeGenerator.methodCallFormatter(m, args));
" for " + ProxyCodeGenerator.formatMethodCall(m, args));
}
// all exceptions are fine
return false;
......@@ -92,7 +92,7 @@ public abstract class AssertThrows {
AssertionError ae = new AssertionError(
"Expected an SQLException or DbException with error code " +
expectedErrorCode +
" for " + ProxyCodeGenerator.methodCallFormatter(m, args));
" for " + ProxyCodeGenerator.formatMethodCall(m, args));
ae.initCause(t);
throw ae;
}
......
......@@ -334,7 +334,14 @@ public class ProxyCodeGenerator {
writer.flush();
}
public static String methodCallFormatter(Method m, Object... args) {
/**
* Format a method call, including arguments, for an exception message.
*
* @param m the method
* @param args the arguments
* @return the formatted string
*/
public static String formatMethodCall(Method m, Object... args) {
StringBuilder buff = new StringBuilder();
buff.append(m.getName()).append('(');
for (int i = 0; i < args.length; i++) {
......
......@@ -686,4 +686,4 @@ mcleod decade experience travel willing scjp himself routinely tsi retrieving
multiplied ross judson closeable watcher enqueued referent refs watch tracked
preserving disallowed restrictive dst regions kiritimati flow wider nanosecond
march april cutover julian transitions enderbury kwajalein viewport onscroll
umlaut reconstruct inclusive proxies
umlaut reconstruct inclusive proxies verifier slept
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论