patch 4.0

This commit is contained in:
wangzelin.wzl
2022-10-24 10:34:53 +08:00
parent 4ad6e00ec3
commit 93a1074b0c
10533 changed files with 2588271 additions and 2299373 deletions

View File

@ -12,18 +12,23 @@
#include "observer/virtual_table/ob_all_virtual_engine_table.h"
namespace oceanbase {
namespace oceanbase
{
using namespace common;
namespace observer {
namespace observer
{
ObAllVirtualEngineTable::ObAllVirtualEngineTable() : ObVirtualTableScannerIterator()
{}
ObAllVirtualEngineTable::ObAllVirtualEngineTable() :
ObVirtualTableScannerIterator()
{
}
ObAllVirtualEngineTable::~ObAllVirtualEngineTable()
{}
{
}
int ObAllVirtualEngineTable::inner_get_next_row(common::ObNewRow*& row)
int ObAllVirtualEngineTable::inner_get_next_row(common::ObNewRow *&row)
{
int ret = OB_SUCCESS;
@ -32,58 +37,66 @@ int ObAllVirtualEngineTable::inner_get_next_row(common::ObNewRow*& row)
SERVER_LOG(WARN, "allocator is NULL", K(ret));
} else {
if (!start_to_read_) {
ObObj* cells = NULL;
ObObj *cells = NULL;
const int64_t col_count = output_column_ids_.count();
if (OB_ISNULL(cells = cur_row_.cells_)) {
ret = OB_ERR_UNEXPECTED;
SERVER_LOG(WARN, "cur row cell is NULL", K(ret));
} else if (OB_UNLIKELY(col_count < 1 || col_count > ENGINE_COLUMN_COUNT)) {
} else if (OB_UNLIKELY(col_count < 0 || col_count > ENGINE_COLUMN_COUNT)) {
ret = OB_ERR_UNEXPECTED;
SERVER_LOG(WARN, "column count error ", K(ret), K(col_count));
} else if (OB_UNLIKELY(col_count > reserved_column_cnt_)) {
ret = OB_ERR_UNEXPECTED;
SERVER_LOG(WARN, "cells count error", K(ret), K(col_count), K(reserved_column_cnt_));
SERVER_LOG(WARN, "cells count error", K(ret), K(col_count),
K(reserved_column_cnt_));
} else {
uint64_t cell_idx = 0;
for (int64_t k = 0; OB_SUCC(ret) && k < col_count; ++k) {
uint64_t col_id = output_column_ids_.at(k);
switch (col_id) {
case ENGINE: {
case ENGINE: {
cells[cell_idx].set_varchar("OceanBase");
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(
ObCharset::get_default_charset()));
break;
}
case SUPPORT: {
case SUPPORT: {
cells[cell_idx].set_varchar("YES");
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(
ObCharset::get_default_charset()));
break;
}
case COMMENT: {
case COMMENT: {
cells[cell_idx].set_varchar("Supports transactions");
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(
ObCharset::get_default_charset()));
break;
}
case TRANSACTIONS: {
case TRANSACTIONS: {
cells[cell_idx].set_varchar("YES");
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(
ObCharset::get_default_charset()));
break;
}
case XA: {
case XA: {
cells[cell_idx].set_varchar("NO");
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(
ObCharset::get_default_charset()));
break;
}
case SAVEPOINTS: {
case SAVEPOINTS: {
cells[cell_idx].set_varchar("NO");
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
cells[cell_idx].set_collation_type(ObCharset::get_default_collation(
ObCharset::get_default_charset()));
break;
}
default: {
default: {
ret = OB_ERR_UNEXPECTED;
SERVER_LOG(WARN, "invalid column id", K(ret), K(cell_idx), K(output_column_ids_), K(col_id));
SERVER_LOG(WARN, "invalid column id", K(ret), K(cell_idx),
K(output_column_ids_), K(col_id));
break;
}
}
}
if (OB_SUCC(ret)) {
++cell_idx;
}
@ -113,5 +126,5 @@ int ObAllVirtualEngineTable::inner_get_next_row(common::ObNewRow*& row)
return ret;
}
} // namespace observer
} // namespace oceanbase
} // namespace observer
} // namespace oceanbase