OmniSciDB  340b00dbf6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Catalog_Namespace Namespace Reference

Namespaces

 anonymous_namespace{Catalog.cpp}
 
 anonymous_namespace{SysCatalog.cpp}
 

Classes

struct  TableEpochInfo
 
class  Catalog
 class for a per-database catalog. also includes metadata for the current database and the current user. More...
 
class  read_lock
 
class  sqlite_lock
 
class  write_lock
 
class  SessionInfo
 
struct  UserMetadata
 
struct  DBMetadata
 
struct  DBSummary
 
class  CommonFileOperations
 
class  SysCatalog
 

Typedefs

using sys_read_lock = read_lock< SysCatalog >
 
using cat_read_lock = read_lock< Catalog >
 
using cat_write_lock = write_lock< Catalog >
 
using cat_sqlite_lock = sqlite_lock< Catalog >
 
using sys_write_lock = write_lock< SysCatalog >
 
using sys_sqlite_lock = sqlite_lock< SysCatalog >
 
using DBSummaryList = std::list< DBSummary >
 
using TableDescriptorMap = std::map< std::string, TableDescriptor * >
 
using TableDescriptorMapById = std::map< int, TableDescriptor * >
 
using LogicalToPhysicalTableMapById = std::map< int32_t, std::vector< int32_t >>
 
using ColumnKey = std::tuple< int, std::string >
 
using ColumnDescriptorMap = std::map< ColumnKey, ColumnDescriptor * >
 
using ColumnIdKey = std::tuple< int, int >
 
using ColumnDescriptorMapById = std::map< ColumnIdKey, ColumnDescriptor * >
 
using DictDescriptorMapById = std::map< DictRef, std::unique_ptr< DictDescriptor >>
 
using DashboardDescriptorMap = std::map< std::string, std::shared_ptr< DashboardDescriptor >>
 
using LinkDescriptorMap = std::map< std::string, LinkDescriptor * >
 
using LinkDescriptorMapById = std::map< int, LinkDescriptor * >
 
using DeletedColumnPerTableMap = std::unordered_map< const TableDescriptor *, const ColumnDescriptor * >
 
using ForeignServerMap = std::map< std::string, std::shared_ptr< foreign_storage::ForeignServer >>
 
using ForeignServerMapById = std::map< int, std::shared_ptr< foreign_storage::ForeignServer >>
 

Functions

bool contains_spaces (std::string_view str)
 returns true if the string contains one or more spaces More...
 
bool contains_sql_reserved_chars (std::string_view str, std::string_view chars="`~!@#$%^&*()-=+[{]}\\|;:'\",<.>/?")
 returns true if the string contains one or more OmniSci SQL reserved characters More...
 
bool is_reserved_sql_keyword (std::string_view str)
 returns true if the string equals an OmniSci SQL reserved keyword More...
 
std::ostream & operator<< (std::ostream &os, const SessionInfo &session_info)
 
static bool parseUserMetadataFromSQLite (const std::unique_ptr< SqliteConnector > &conn, UserMetadata &user)
 

Variables

const int DEFAULT_INITIAL_VERSION = 1
 
const int MAPD_TEMP_TABLE_START_ID
 
const int MAPD_TEMP_DICT_START_ID
 

Typedef Documentation

Definition at line 112 of file Catalog.cpp.

Definition at line 114 of file Catalog.cpp.

Definition at line 113 of file Catalog.cpp.

Definition at line 37 of file Types.h.

Definition at line 39 of file Types.h.

using Catalog_Namespace::ColumnIdKey = typedef std::tuple<int, int>

Definition at line 38 of file Types.h.

using Catalog_Namespace::ColumnKey = typedef std::tuple<int, std::string>

Definition at line 36 of file Types.h.

using Catalog_Namespace::DashboardDescriptorMap = typedef std::map<std::string, std::shared_ptr<DashboardDescriptor>>

Definition at line 42 of file Types.h.

using Catalog_Namespace::DBSummaryList = typedef std::list<DBSummary>

Definition at line 118 of file SysCatalog.h.

using Catalog_Namespace::DeletedColumnPerTableMap = typedef std::unordered_map<const TableDescriptor*, const ColumnDescriptor*>

Definition at line 46 of file Types.h.

using Catalog_Namespace::DictDescriptorMapById = typedef std::map<DictRef, std::unique_ptr<DictDescriptor>>

Definition at line 40 of file Types.h.

using Catalog_Namespace::ForeignServerMap = typedef std::map<std::string, std::shared_ptr<foreign_storage::ForeignServer>>

Definition at line 48 of file Types.h.

using Catalog_Namespace::ForeignServerMapById = typedef std::map<int, std::shared_ptr<foreign_storage::ForeignServer>>

Definition at line 50 of file Types.h.

using Catalog_Namespace::LinkDescriptorMap = typedef std::map<std::string, LinkDescriptor*>

Definition at line 43 of file Types.h.

Definition at line 44 of file Types.h.

using Catalog_Namespace::LogicalToPhysicalTableMapById = typedef std::map<int32_t, std::vector<int32_t>>

Definition at line 35 of file Types.h.

Definition at line 111 of file Catalog.cpp.

Definition at line 80 of file SysCatalog.cpp.

Definition at line 79 of file SysCatalog.cpp.

using Catalog_Namespace::TableDescriptorMap = typedef std::map<std::string, TableDescriptor*>

Definition at line 33 of file Types.h.

Definition at line 34 of file Types.h.

Function Documentation

bool Catalog_Namespace::contains_spaces ( std::string_view  str)
inline

returns true if the string contains one or more spaces

Definition at line 4192 of file Catalog.cpp.

Referenced by Catalog_Namespace::Catalog::dumpCreateTable().

4192  {
4193  return std::find_if(str.begin(), str.end(), [](const unsigned char& ch) {
4194  return std::isspace(ch);
4195  }) != str.end();
4196 }

+ Here is the caller graph for this function:

bool Catalog_Namespace::contains_sql_reserved_chars ( std::string_view  str,
std::string_view  chars = "`~!@#$%^&*()-=+[{]}\\|;:'\",<.>/?" 
)
inline

returns true if the string contains one or more OmniSci SQL reserved characters

Definition at line 4199 of file Catalog.cpp.

Referenced by Catalog_Namespace::Catalog::dumpCreateTable().

4201  {]}\\|;:'\",<.>/?") {
4202  return str.find_first_of(chars) != std::string_view::npos;
4203 }

+ Here is the caller graph for this function:

bool Catalog_Namespace::is_reserved_sql_keyword ( std::string_view  str)
inline

returns true if the string equals an OmniSci SQL reserved keyword

Definition at line 4206 of file Catalog.cpp.

References reserved_keywords, and to_upper().

Referenced by Catalog_Namespace::Catalog::dumpCreateTable().

4206  {
4207  return reserved_keywords.find(to_upper(std::string(str))) != reserved_keywords.end();
4208 }
static std::set< std::string > reserved_keywords
std::string to_upper(const std::string &str)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::ostream & Catalog_Namespace::operator<< ( std::ostream &  os,
const SessionInfo &  session_info 
)

Definition at line 53 of file SessionInfo.cpp.

References Catalog_Namespace::SessionInfo::get_public_session_id().

53  {
54  os << session_info.get_public_session_id();
55  return os;
56 }

+ Here is the call graph for this function:

static bool Catalog_Namespace::parseUserMetadataFromSQLite ( const std::unique_ptr< SqliteConnector > &  conn,
UserMetadata &  user 
)
static

Definition at line 1231 of file SysCatalog.cpp.

References Catalog_Namespace::UserMetadata::can_login, Catalog_Namespace::UserMetadata::defaultDbId, Catalog_Namespace::UserMetadata::isSuper, LOG, Catalog_Namespace::UserMetadata::passwd_hash, Catalog_Namespace::UserMetadata::userId, Catalog_Namespace::UserMetadata::userName, and logger::WARNING.

Referenced by Catalog_Namespace::SysCatalog::getMetadataForUser(), and Catalog_Namespace::SysCatalog::getMetadataForUserById().

1232  {
1233  int numRows = conn->getNumRows();
1234  if (numRows == 0) {
1235  return false;
1236  }
1237  user.userId = conn->getData<int>(0, 0);
1238  user.userName = conn->getData<string>(0, 1);
1239  user.passwd_hash = conn->getData<string>(0, 2);
1240  user.isSuper = conn->getData<bool>(0, 3);
1241  user.defaultDbId = conn->isNull(0, 4) ? -1 : conn->getData<int>(0, 4);
1242  if (conn->isNull(0, 5)) {
1243  LOG(WARNING)
1244  << "User property 'can_login' not set for user " << user.userName
1245  << ". Disabling login ability. Set the users login ability with \"ALTER USER "
1246  << user.userName << " (can_login='true');\".";
1247  }
1248  user.can_login = conn->isNull(0, 5) ? false : conn->getData<bool>(0, 5);
1249  return true;
1250 }
#define LOG(tag)
Definition: Logger.h:188

+ Here is the caller graph for this function:

Variable Documentation

const int Catalog_Namespace::DEFAULT_INITIAL_VERSION = 1
const int Catalog_Namespace::MAPD_TEMP_DICT_START_ID
Initial value:
=
1073741824

Definition at line 103 of file Catalog.cpp.

const int Catalog_Namespace::MAPD_TEMP_TABLE_START_ID
Initial value:
=
1073741824

Definition at line 101 of file Catalog.cpp.