From 49286cb2d2987e4d2f6a07f6b9ed46d4de97d9ac Mon Sep 17 00:00:00 2001 From: randomdan Date: Sun, 18 Nov 2012 19:13:16 +0000 Subject: Add a basic MySQL connector, not fully functional, but will suffice for p2tv --- libmysqlpp/column.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 libmysqlpp/column.h (limited to 'libmysqlpp/column.h') 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 + +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 Column : public ColumnBase { + public: + Column(const char * name, unsigned int field, MYSQL_BIND * b); + void apply(DB::HandleField & h) const; + T value; + }; +} + +#endif + -- cgit v1.2.3