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

Support empty statements that just contains a comment.

上级 376edeb3
...@@ -18,7 +18,8 @@ Change Log ...@@ -18,7 +18,8 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>Server mode: if there was an error while reading from a LOB, the session was closed in some cases. <ul><li>Support empty statements that just contains a comment.
</li><li>Server mode: if there was an error while reading from a LOB, the session was closed in some cases.
</li><li>Issue 463: Driver name and version are now the same in OsgiDataSourceFactory and JdbcDatabaseMetaData. </li><li>Issue 463: Driver name and version are now the same in OsgiDataSourceFactory and JdbcDatabaseMetaData.
</li><li>JaQu: The data type VARCHAR is now (again) used for Strings </li><li>JaQu: The data type VARCHAR is now (again) used for Strings
(no longer TEXT, except when explicitly set). (no longer TEXT, except when explicitly set).
...@@ -52,8 +53,10 @@ Change Log ...@@ -52,8 +53,10 @@ Change Log
</li><li>Fix a NullPointerException when attempting to add foreign key reference to a view. </li><li>Fix a NullPointerException when attempting to add foreign key reference to a view.
</li><li>Add sufficient ClientInfo support to our javax.sql.Connection implementation to make WebSphere happy. </li><li>Add sufficient ClientInfo support to our javax.sql.Connection implementation to make WebSphere happy.
</li><li>Issue 482: class LobStorageBackend$LobInputStream does not override the method InputStream.available(). </li><li>Issue 482: class LobStorageBackend$LobInputStream does not override the method InputStream.available().
</li><li>Fix corruption resulting from a mix of the "WRITE_DELAY=0" option and "SELECT DISTINCT" queries </li><li>Fix corruption resulting from a mix of the "WRITE_DELAY=0" option
</li><li>Fix the combination of updating a table which contains an LOB, and reading from the LOB at the same time. and "SELECT DISTINCT" queries that don't fit in memory.
</li><li>Fix the combination of updating a table which contains an LOB,
and reading from the LOB at the same time.
Previously it would throw an exception, now it works. Previously it would throw an exception, now it works.
</li><li>Issue 484: In the H2 Console tool, all schemas starting with "INFO" where hidden. </li><li>Issue 484: In the H2 Console tool, all schemas starting with "INFO" where hidden.
Now they are hidden only if the database is not H2. Patch from "mgcodeact"/"cumer d" Now they are hidden only if the database is not H2. Patch from "mgcodeact"/"cumer d"
......
...@@ -439,6 +439,9 @@ public class Parser { ...@@ -439,6 +439,9 @@ public class Parser {
c = parseWith(); c = parseWith();
} }
break; break;
case ';':
c = new NoOperation(session);
break;
default: default:
throw getSyntaxError(); throw getSyntaxError();
} }
......
...@@ -39,6 +39,7 @@ public class TestCases extends TestBase { ...@@ -39,6 +39,7 @@ public class TestCases extends TestBase {
@Override @Override
public void test() throws Exception { public void test() throws Exception {
testEmptyStatements();
testViewParameters(); testViewParameters();
testLargeKeys(); testLargeKeys();
testExtraSemicolonInDatabaseURL(); testExtraSemicolonInDatabaseURL();
...@@ -101,6 +102,16 @@ public class TestCases extends TestBase { ...@@ -101,6 +102,16 @@ public class TestCases extends TestBase {
deleteDb("cases"); deleteDb("cases");
} }
private void testEmptyStatements() throws SQLException {
Connection conn = getConnection("cases");
Statement stat = conn.createStatement();
stat.execute("/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;");
stat.execute("");
stat.execute(";");
stat.execute(" ;");
conn.close();
}
private void testViewParameters() throws SQLException { private void testViewParameters() throws SQLException {
deleteDb("cases"); deleteDb("cases");
Connection conn = getConnection("cases"); Connection conn = getConnection("cases");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论