init push
This commit is contained in:
105
src/sql/resolver/ob_column_ref.h
Normal file
105
src/sql/resolver/ob_column_ref.h
Normal file
@ -0,0 +1,105 @@
|
||||
/**
|
||||
* Copyright (c) 2021 OceanBase
|
||||
* OceanBase CE is licensed under Mulan PubL v2.
|
||||
* You can use this software according to the terms and conditions of the Mulan PubL v2.
|
||||
* You may obtain a copy of Mulan PubL v2 at:
|
||||
* http://license.coscl.org.cn/MulanPubL-2.0
|
||||
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
* See the Mulan PubL v2 for more details.
|
||||
*/
|
||||
|
||||
#ifndef OCEANBASE_SQL_OB_COLUMN_REF_
|
||||
#define OCEANBASE_SQL_OB_COLUMN_REF_
|
||||
|
||||
#include "lib/ob_name_def.h"
|
||||
#include "lib/string/ob_string.h"
|
||||
#include "lib/charset/ob_charset.h"
|
||||
|
||||
namespace oceanbase {
|
||||
namespace sql {
|
||||
class ObColumnRef {
|
||||
public:
|
||||
ObColumnRef()
|
||||
: database_name_(), table_name_(), column_name_(), is_star_(false), collation_type_(common::CS_TYPE_INVALID)
|
||||
{}
|
||||
|
||||
virtual ~ObColumnRef()
|
||||
{}
|
||||
|
||||
void set_database_name(common::ObString& database_name)
|
||||
{
|
||||
database_name_.assign_ptr(database_name.ptr(), database_name.length());
|
||||
}
|
||||
|
||||
void set_table_name(common::ObString& table_name)
|
||||
{
|
||||
table_name_.assign_ptr(table_name.ptr(), table_name.length());
|
||||
}
|
||||
|
||||
void set_column_name(common::ObString& column_name)
|
||||
{
|
||||
column_name_.assign_ptr(column_name.ptr(), column_name.length());
|
||||
}
|
||||
|
||||
void set_star()
|
||||
{
|
||||
is_star_ = true;
|
||||
}
|
||||
|
||||
bool is_star() const
|
||||
{
|
||||
return is_star_;
|
||||
}
|
||||
|
||||
void get_database_name(common::ObString& database_name) const
|
||||
{
|
||||
database_name.assign_ptr(database_name_.ptr(), database_name_.length());
|
||||
}
|
||||
|
||||
void get_table_name(common::ObString& table_name) const
|
||||
{
|
||||
table_name.assign_ptr(table_name_.ptr(), table_name_.length());
|
||||
}
|
||||
|
||||
void get_column_name(common::ObString& column_name) const
|
||||
{
|
||||
column_name.assign_ptr(column_name_.ptr(), column_name_.length());
|
||||
}
|
||||
const common::ObString& get_database_name() const
|
||||
{
|
||||
return database_name_;
|
||||
}
|
||||
const common::ObString& get_table_name() const
|
||||
{
|
||||
return table_name_;
|
||||
}
|
||||
const common::ObString& get_column_name() const
|
||||
{
|
||||
return column_name_;
|
||||
}
|
||||
|
||||
const common::ObCollationType& get_collation_type() const
|
||||
{
|
||||
return collation_type_;
|
||||
}
|
||||
void set_collation_type(const common::ObCollationType& collation_type)
|
||||
{
|
||||
collation_type_ = collation_type;
|
||||
}
|
||||
|
||||
TO_STRING_KV(K(database_name_), K(table_name_), K(column_name_), K(is_star_), N_COLLATION,
|
||||
common::ObCharset::collation_name(collation_type_));
|
||||
|
||||
private:
|
||||
common::ObString database_name_;
|
||||
common::ObString table_name_;
|
||||
common::ObString column_name_;
|
||||
bool is_star_;
|
||||
common::ObCollationType collation_type_;
|
||||
};
|
||||
} // namespace sql
|
||||
} // namespace oceanbase
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user