00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _MYSQL_SQL_IMPLEMENTATION_H_
00018 #define _MYSQL_SQL_IMPLEMENTATION_H_
00019
00020 #include <mysql.h>
00021 #include <oasys/debug/Log.h>
00022 #include <oasys/serialize/SQLImplementation.h>
00023
00024 namespace dtn {
00025
00029 class MysqlSQLImplementation : public oasys::SQLImplementation, public oasys::Logger {
00030 public:
00031 MysqlSQLImplementation();
00032
00035 int connect(const char* dbname);
00036 int close();
00037 bool has_table(const char* tablename);
00038 int exec_query(const char* query);
00039 int num_tuples();
00040 const char* get_value(int tuple_no, int field_no);
00041
00042
00043 const char* binary_datatype();
00044 const char* escape_string(const char* from);
00045 const u_char* escape_binary(const u_char* from, int from_length);
00046 const u_char* unescape_binary(const u_char* from);
00047
00049
00050
00051 private:
00052 MYSQL* db_;
00053 MYSQL_RES* query_result_;
00054 };
00055 }
00056
00057 #endif