提交 3e298a12 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Update changelog, fix a typo and a long line

上级 4339e509
...@@ -21,6 +21,14 @@ Change Log ...@@ -21,6 +21,14 @@ Change Log
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul> <ul>
<li>Issue #1549: [RFE] Implement locking modes (select for update)
</li>
<li>PR #1548: Add AsynchronousFileChannel-based experimental FilePathAsync
</li>
<li>PR #1547: Speedup unused chunks collection
</li>
<li>PR #1546: Tiny optimization: use `System.arraycopy` when possible
</li>
<li>PR #1545: Export datetime value functions to SQL using standard syntax <li>PR #1545: Export datetime value functions to SQL using standard syntax
</li> </li>
<li>Issue #1371: NPE in CacheLRU <li>Issue #1371: NPE in CacheLRU
......
...@@ -2040,7 +2040,7 @@ public class ErrorCode { ...@@ -2040,7 +2040,7 @@ public class ErrorCode {
* SELECT MAX(VALUE) FOR UPDATE; * SELECT MAX(VALUE) FOR UPDATE;
* </pre> * </pre>
*/ */
public static final int FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT = 90145; public static final int FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT = 90145;
// next is 90146 // next is 90146
......
...@@ -1465,7 +1465,7 @@ public class Select extends Query { ...@@ -1465,7 +1465,7 @@ public class Select extends Query {
@Override @Override
public void setForUpdate(boolean b) { public void setForUpdate(boolean b) {
if (b && (isAnyDistinct() || isGroupQuery)) { if (b && (isAnyDistinct() || isGroupQuery)) {
throw DbException.get(ErrorCode.FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT); throw DbException.get(ErrorCode.FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT);
} }
this.isForUpdate = b; this.isForUpdate = b;
if (session.getDatabase().isMVStore()) { if (session.getDatabase().isMVStore()) {
......
...@@ -566,7 +566,7 @@ public class DbException extends RuntimeException { ...@@ -566,7 +566,7 @@ public class DbException extends RuntimeException {
case CAN_ONLY_ASSIGN_TO_VARIABLE_1: case CAN_ONLY_ASSIGN_TO_VARIABLE_1:
case PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1: case PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1:
case JAVA_OBJECT_SERIALIZER_CHANGE_WITH_DATA_TABLE: case JAVA_OBJECT_SERIALIZER_CHANGE_WITH_DATA_TABLE:
case FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT: case FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT:
return new JdbcSQLSyntaxErrorException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLSyntaxErrorException(message, sql, state, errorCode, cause, stackTrace);
case HEX_STRING_ODD_1: case HEX_STRING_ODD_1:
case HEX_STRING_WRONG_1: case HEX_STRING_WRONG_1:
......
...@@ -1419,7 +1419,8 @@ public class MVStore { ...@@ -1419,7 +1419,8 @@ public class MVStore {
Set<Long> inspectedRoots = new HashSet<>(); Set<Long> inspectedRoots = new HashSet<>();
do { do {
inspectVersion(rootReference, collector, executorService, executingThreadCounter, inspectedRoots); inspectVersion(rootReference, collector, executorService, executingThreadCounter, inspectedRoots);
} while (rootReference.version >= oldestVersionToKeep && (rootReference = rootReference.previous) != null); } while (rootReference.version >= oldestVersionToKeep
&& (rootReference = rootReference.previous) != null);
} }
return collector.getReferenced(); return collector.getReferenced();
} finally { } finally {
......
...@@ -423,19 +423,19 @@ SELECT ID, VALUE FROM TEST FOR UPDATE; ...@@ -423,19 +423,19 @@ SELECT ID, VALUE FROM TEST FOR UPDATE;
> rows: 3 > rows: 3
SELECT DISTINCT VALUE FROM TEST FOR UPDATE; SELECT DISTINCT VALUE FROM TEST FOR UPDATE;
> exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT > exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT
SELECT DISTINCT ON(VALUE) ID, VALUE FROM TEST FOR UPDATE; SELECT DISTINCT ON(VALUE) ID, VALUE FROM TEST FOR UPDATE;
> exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT > exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT
SELECT SUM(VALUE) FROM TEST FOR UPDATE; SELECT SUM(VALUE) FROM TEST FOR UPDATE;
> exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT > exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT
SELECT ID FROM TEST GROUP BY VALUE FOR UPDATE; SELECT ID FROM TEST GROUP BY VALUE FOR UPDATE;
> exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT > exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT
SELECT 1 FROM TEST HAVING TRUE FOR UPDATE; SELECT 1 FROM TEST HAVING TRUE FOR UPDATE;
> exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTICT_OR_GROUPED_SELECT > exception FOR_UPDATE_IS_NOT_ALLOWED_IN_DISTINCT_OR_GROUPED_SELECT
DROP TABLE TEST; DROP TABLE TEST;
> ok > ok
...@@ -801,4 +801,4 @@ partitioned tri partitions ...@@ -801,4 +801,4 @@ partitioned tri partitions
discard enhancements nolock surefire logarithm discard enhancements nolock surefire logarithm
qualification opportunity jumping exploited unacceptable vrs duplicated qualification opportunity jumping exploited unacceptable vrs duplicated
queryparser tokenized freeze factorings recompilation unenclosed queryparser tokenized freeze factorings recompilation unenclosed rfe dsync
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论