diff options
author | randomdan <randomdan@localhost> | 2012-11-18 19:13:16 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2012-11-18 19:13:16 +0000 |
commit | 49286cb2d2987e4d2f6a07f6b9ed46d4de97d9ac (patch) | |
tree | 9064882e6e44203bf35bf70089500c326458b6f1 /libmysqlpp/column.h | |
parent | Migrate all stuff to stricter compilations/links and C++0x builds (diff) | |
download | libdbpp-mysql-49286cb2d2987e4d2f6a07f6b9ed46d4de97d9ac.tar.bz2 libdbpp-mysql-49286cb2d2987e4d2f6a07f6b9ed46d4de97d9ac.tar.xz libdbpp-mysql-49286cb2d2987e4d2f6a07f6b9ed46d4de97d9ac.zip |
Add a basic MySQL connector, not fully functional, but will suffice for p2tv
Diffstat (limited to 'libmysqlpp/column.h')
-rw-r--r-- | libmysqlpp/column.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libmysqlpp/column.h b/libmysqlpp/column.h new file mode 100644 index 0000000..6146f53 --- /dev/null +++ b/libmysqlpp/column.h @@ -0,0 +1,42 @@ +#ifndef MY_COLUMN_H +#define MY_COLUMN_H + +#include "../libdbpp/column.h" +#include <mysql.h> + +namespace MySQL { + class SelectCommand; + class ColumnBase : public DB::Column { + public: + ColumnBase(const char * name, unsigned int field); + + bool isNull() const; + void rebind(DB::Command *, unsigned int) const; + protected: + my_bool is_null; + long unsigned int length; + friend class SelectCommand; + }; + class StringColumn : public ColumnBase { + public: + StringColumn(const char * name, unsigned int field, MYSQL_BIND * b, unsigned int len); + ~StringColumn(); + void apply(DB::HandleField &) const; + char * value; + long unsigned int length; + }; + class NullColumn : public ColumnBase { + public: + NullColumn(const char * name, unsigned int field, MYSQL_BIND * b); + void apply(DB::HandleField &) const; + }; + template <class T, enum_field_types MT> class Column : public ColumnBase { + public: + Column(const char * name, unsigned int field, MYSQL_BIND * b); + void apply(DB::HandleField & h) const; + T value; + }; +} + +#endif + |