mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-24 04:55:52 +00:00
Add support for escaping String and detecting nulls to database.
This commit is contained in:
@@ -14,6 +14,15 @@ Database::~Database()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Database::getNull(const char* colName)
|
||||||
|
{
|
||||||
|
int index;
|
||||||
|
if(getColNumber(colName,&index))
|
||||||
|
{
|
||||||
|
return(getNull(index));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
char* Database::getStr(const char* colName,std::string& retStr)
|
char* Database::getStr(const char* colName,std::string& retStr)
|
||||||
{
|
{
|
||||||
@@ -135,3 +144,13 @@ char* Database::getSingleDBValueStr(const char* sql,std::string& retStr)
|
|||||||
}
|
}
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string Database::escape(const std::string strValue)
|
||||||
|
{
|
||||||
|
std::string strReturn;
|
||||||
|
|
||||||
|
escape(reinterpret_cast<const unsigned char*>(strValue.c_str()), strValue.size(), strReturn);
|
||||||
|
|
||||||
|
return strReturn;
|
||||||
|
}
|
||||||
|
// vim:ts=4
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public:
|
|||||||
std::string& getPass(){ return(mDBPass); }
|
std::string& getPass(){ return(mDBPass); }
|
||||||
|
|
||||||
virtual void escape(const unsigned char* start,int size,std::string& retStr)=0;
|
virtual void escape(const unsigned char* start,int size,std::string& retStr)=0;
|
||||||
|
std::string escape(const std::string strValue);
|
||||||
|
|
||||||
// returns true if the query went ok
|
// returns true if the query went ok
|
||||||
virtual bool executeSQL(const char* sql, bool fail_okay=false)=0;
|
virtual bool executeSQL(const char* sql, bool fail_okay=false)=0;
|
||||||
@@ -47,6 +48,7 @@ public:
|
|||||||
virtual bool getNextRow()=0;
|
virtual bool getNextRow()=0;
|
||||||
|
|
||||||
// get Data from the current row
|
// get Data from the current row
|
||||||
|
bool getNull(const char* colName);
|
||||||
char* getStr(const char* colName,std::string& retStr);
|
char* getStr(const char* colName,std::string& retStr);
|
||||||
int32 getInt(const char* colName);
|
int32 getInt(const char* colName);
|
||||||
float getFloat(const char* colName);
|
float getFloat(const char* colName);
|
||||||
@@ -55,6 +57,7 @@ public:
|
|||||||
int getBinary(const char* colName,unsigned char* buf,int maxSize);
|
int getBinary(const char* colName,unsigned char* buf,int maxSize);
|
||||||
uint64 getBigInt(const char* colName);
|
uint64 getBigInt(const char* colName);
|
||||||
|
|
||||||
|
virtual bool getNull(int colIndex)=0;
|
||||||
virtual char* getStr(int colIndex,std::string& retStr)=0;
|
virtual char* getStr(int colIndex,std::string& retStr)=0;
|
||||||
virtual int32 getInt(int colIndex)=0;
|
virtual int32 getInt(int colIndex)=0;
|
||||||
virtual float getFloat(int colIndex)=0;
|
virtual float getFloat(int colIndex)=0;
|
||||||
|
|||||||
Reference in New Issue
Block a user