CompleteDB Embedded: Direct C++ API  2.4.2
CreateTable.hpp
Go to the documentation of this file.
1 #ifndef COMPLETEDB_CREATETABLE_HPP
2 #define COMPLETEDB_CREATETABLE_HPP
3 
4 #include "CompleteDb.h"
6 #include "completedb/Object.hpp"
9 
10 namespace completedb {
11 
18 : public virtual Object
19 , public Statement
20 , public TableMetadata
21 {
22 
23  friend class Database;
24  friend class TableDdl;
25 
26 public: // override Object iface
27 
31  inline bool cast(const Object& from) { return completedb_CreateTable_cast(&m, from.get(), from.getClassType()); }
35  inline bool isConnected() const { return completedb_CreateTable_isConnected(m); }
39  inline bool isDisconnected() const { return completedb_CreateTable_isDisconnected(m); }
48 
49 public: // override LastError iface
50 
58  inline const char* getLastError() const { return completedb_CreateTable_getLastError(m); }
59 
60 public: // override EntityInfo iface
61 
65  inline const char* getDescription() const { return completedb_CreateTable_getDescription(m); }
66 
67 public: // override EntityMutator iface
68 
72  inline void setDescription(const char* description) { completedb_CreateTable_setDescription(m, description); }
73 
74 public: // override IdentityInfo iface
75 
79  inline const char* getName() const { return completedb_CreateTable_getName(m); }
80 
81 public: // override IdentityMutator iface
82 
86  inline void setName(const char* name) { completedb_CreateTable_setName(m, name); }
87 
88 public: // override FastStatement iface
89 
93  inline bool prepare() { return completedb_CreateTable_prepare(m); }
94 
95 public: // override Statement iface
96 
100  inline bool execute() { return completedb_CreateTable_execute(m); }
101 
102 public: // override TableInfo iface
103 
107  inline bool containsColumn(const char* name) { return completedb_CreateTable_containsColumn(m, name); }
111  inline bool containsColumn(const IdentityInfo& name) { return completedb_CreateTable_containsColumn(m, name.getName()); }
115  inline bool exists() { return completedb_CreateTable_exists(m); }
120 
121 public: // override TableMutator iface
122 
126  inline ColumnMetadata addColumn(const char* name, const ColumnType::Enum columnType = ColumnType::Int64) { return completedb_CreateTable_addColumn(m, name, columnType); }
130  inline ColumnMetadata addColumn(const IdentityInfo& name, const ColumnType::Enum columnType = ColumnType::Int64) { return completedb_CreateTable_addColumn(m, name.getName(), columnType); }
135 
136 public: // factory lvalue
137 
138  CreateTable& operator=(const CreateTable& src) { completedb_CreateTable_assign(&m, src.m, src.getClassType()); return *this; }
140 
141 public: // factory
142 
145 
146 private: // factory
147 
148  CreateTable(void* src) : Object(src) {}
149 
150 };
151 
152 } // namespace
153 
154 #endif /* COMPLETEDB_CREATETABLE_HPP */