3#ifndef RDBMODEL_MYSQLCONNECTION_H
4#define RDBMODEL_MYSQLCONNECTION_H
6#include "rdbModel/Db/Connection.h"
7#include "rdbModel/Management/Visitor.h"
8#include "rdbModel/Tables/Assertion.h"
41 virtual bool open(
const std::string& host,
const std::string& userid,
42 const std::string& password,
const std::string& dbName );
47 virtual bool open(
const std::string& parms );
56 std::ostream*
getOut()
const {
return m_out; }
87 virtual unsigned int update(
const std::string& tableName,
const StringVector& colNames,
106 int rowLimit = 0,
int rowOffset = 0 );
146 enum VISITOR { VISITORundefined, VISITORmatch };
151 std::string m_dbName;
158 VISITOR m_visitorType;
169 std::vector<Column*> m_ourCols;
175 std::map<std::string, unsigned int> m_colIx;
177 std::string m_primColName;
179 static bool m_compileInit;
180 bool m_writeDisabled;
182 static void compileInit();
183 static bool compileComparison( Assertion::Operator* op, std::string& sqlString );
184 static bool compileOperator( Assertion::Operator* op, std::string& sqlString );
186 bool checkDType( Datatype* dtype,
const std::string& sqlType );
191 std::string m_password;
*******DOUBLE PRECISION m_EGridB INTEGER m_out
struct st_mysql_res MYSQL_RES
virtual VisitorState visitInterRow(InterRow *)
virtual Visitor::VisitorState visitRdb(Rdb *)
This method says if the visitor is recursive or not.
virtual bool isConnected()
Return true iff open has been done with no matching close.
std::ostream * getOut() const
virtual Visitor::VisitorState visitAssertion(Assertion *)
virtual VisitorState visitQuery(Query *)
std::ostream * getErrOut() const
virtual VisitorState visitSet(Set *)
virtual bool open(const std::string &host, const std::string &userid, const std::string &password, const std::string &dbName)
virtual ResultHandle * select(const std::string &tableName, const StringVector &getCols, const StringVector &orderCols, const Assertion *where=0, int rowLimit=0, int rowOffset=0)
virtual Visitor::VisitorState visitTable(Table *)
virtual Visitor::VisitorState visitIndex(Index *)
virtual bool compileAssertion(const Assertion *a, std::string &sqlString) const
virtual VisitorState visitSupersede(Supersede *)
virtual ResultHandle * dbRequest(const std::string &request)
virtual VisitorState visitInsertNew(InsertNew *)
virtual void disableModify(bool disable)
virtual ~MysqlConnection()
virtual MATCH matchSchema(Rdb *rdb, bool matchDbName=true)
virtual bool insertRow(const std::string &tableName, const StringVector &colNames, const StringVector &values, int *auto_value=0, const StringVector *nullCols=0)
virtual Visitor::VisitorState visitColumn(Column *)
virtual unsigned int update(const std::string &tableName, const StringVector &colNames, const StringVector &values, const Assertion *where=0, const StringVector *nullCols=0)
MysqlConnection(std::ostream *out=0, std::ostream *errOut=0)
std::vector< std::string > StringVector