提交 07885cd7 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Update changelog and fix building of documentation

上级 76125978
......@@ -21,7 +21,11 @@ Change Log
<h2>Next Version (unreleased)</h2>
<ul>
<li>Issue #1499: TestScript::envelope.sql failure in “big” mode
<li>Issue #1507: Add INFORMATION_SCHEMA.COLUMNS.COLUMN_TYPE qualification for domains
</li>
<li>Issue #1499: TestScript::envelope.sql failure in &#8220;big&#8221; mode
</li>
<li>Issue #1498: NPE in SimpleResultSet.getColumnCount()
</li>
<li>Issue #1495: MERGE statement doesn't affect any rows when Oracle UPDATE .. WHERE .. DELETE .. WHERE is used
</li>
......
......@@ -17,7 +17,8 @@ public class FunctionCursorResultSet extends AbstractFunctionCursor {
private final ResultInterface result;
FunctionCursorResultSet(FunctionIndex index, SearchRow first, SearchRow last, Session session, ResultInterface result) {
FunctionCursorResultSet(FunctionIndex index, SearchRow first, SearchRow last, Session session,
ResultInterface result) {
super(index, first, last, session);
this.result = result;
}
......
......@@ -903,8 +903,9 @@ public class MVTable extends TableBase {
// Field lastModificationId can not be just a volatile, because window of opportunity
// between reading database's modification id and storing this value in the field
// could be exploited by another thread.
// Second thread may do the same with possibly bigger (already advanced) modification id,
// and when first thread finally updates the field, it will result in lastModificationId jumping back.
// Second thread may do the same with possibly bigger (already advanced)
// modification id, and when first thread finally updates the field, it will
// result in lastModificationId jumping back.
// This is, of course, unacceptable.
private void syncLastModificationIdWithDatabase() {
long nextModificationDataId = database.getNextModificationDataId();
......
......@@ -1092,26 +1092,26 @@ public class Data {
}
case Value.RESULT_SET: {
int len = 1;
ResultInterface result = ((ValueResultSet) v).getResult();
int columnCount = result.getVisibleColumnCount();
len += getVarIntLen(columnCount);
for (int i = 0; i < columnCount; i++) {
len += getStringLen(result.getAlias(i));
len += getStringLen(result.getColumnName(i));
len += getVarIntLen(result.getColumnType(i));
len += getVarLongLen(result.getColumnPrecision(i));
len += getVarIntLen(result.getColumnScale(i));
len += getVarIntLen(result.getDisplaySize(i));
}
while (result.next()) {
len++;
Value[] row = result.currentRow();
for (int i = 0; i < columnCount; i++) {
Value val = row[i];
len += getValueLen(val, handler);
}
}
len++;
ResultInterface result = ((ValueResultSet) v).getResult();
int columnCount = result.getVisibleColumnCount();
len += getVarIntLen(columnCount);
for (int i = 0; i < columnCount; i++) {
len += getStringLen(result.getAlias(i));
len += getStringLen(result.getColumnName(i));
len += getVarIntLen(result.getColumnType(i));
len += getVarLongLen(result.getColumnPrecision(i));
len += getVarIntLen(result.getColumnScale(i));
len += getVarIntLen(result.getDisplaySize(i));
}
while (result.next()) {
len++;
Value[] row = result.currentRow();
for (int i = 0; i < columnCount; i++) {
Value val = row[i];
len += getValueLen(val, handler);
}
}
len++;
return len;
}
case Value.INTERVAL_YEAR:
......
......@@ -800,3 +800,4 @@ ranks rno dro rko precede cume reopens preceding unbounded rightly itr lag maxim
partitioned tri partitions
discard enhancements nolock surefire logarithm
qualification opportunity jumping exploited unacceptable vrs
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论