mirror of
https://github.com/cuberite/SQLiteCpp.git
synced 2025-08-05 10:16:01 -04:00
Adding the method getBytes to the Column object, returning the size in bytes of the text value.
This commit is contained in:
parent
bc5b64d4a3
commit
dc4802edd5
1
TODO.txt
1
TODO.txt
@ -7,7 +7,6 @@ Publish the Doxygen Documentation in the Github Pages (gh-pages branch)
|
|||||||
|
|
||||||
Missing features in v0.4.0:
|
Missing features in v0.4.0:
|
||||||
- **Blob** => make an example/test with image stored in a row
|
- **Blob** => make an example/test with image stored in a row
|
||||||
- getBytes
|
|
||||||
- getColumnType + isText + isInt + isDouble...
|
- getColumnType + isText + isInt + isDouble...
|
||||||
- getColumnByName ? std::map getRow() ?
|
- getColumnByName ? std::map getRow() ?
|
||||||
|
|
||||||
|
@ -51,6 +51,13 @@ const char* Column::getText(void) const throw() // nothrow
|
|||||||
return (const char*)sqlite3_column_text(mStmtPtr, mIndex);
|
return (const char*)sqlite3_column_text(mStmtPtr, mIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return the number of bytes used by the text value of the column
|
||||||
|
int Column::getBytes(void) const throw() // nothrow
|
||||||
|
{
|
||||||
|
return sqlite3_column_bytes(mStmtPtr, mIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Standard std::ostream inserter
|
// Standard std::ostream inserter
|
||||||
std::ostream& operator<<(std::ostream& aStream, const Column& aColumn)
|
std::ostream& operator<<(std::ostream& aStream, const Column& aColumn)
|
||||||
{
|
{
|
||||||
|
@ -52,7 +52,17 @@ public:
|
|||||||
/// thus you must copy it before using it beyond its scope (to a std::string for instance).
|
/// thus you must copy it before using it beyond its scope (to a std::string for instance).
|
||||||
const char* getText (void) const throw();
|
const char* getText (void) const throw();
|
||||||
// TODO const void* getBlob (void) const throw();
|
// TODO const void* getBlob (void) const throw();
|
||||||
// TODO int getBytes (void) const throw();
|
|
||||||
|
/**
|
||||||
|
* @brief Return the number of bytes used by the text value of the column
|
||||||
|
*
|
||||||
|
* Return either :
|
||||||
|
* - size in bytes (not in characters) of the string returned by getText() without the '\0' terminator
|
||||||
|
* - size in bytes of the string representation of the numerical value (integer or double)
|
||||||
|
* - TODO size in bytes of the binary blob returned by getBlob()
|
||||||
|
* - 0 for a NULL value
|
||||||
|
*/
|
||||||
|
int getBytes(void) const throw();
|
||||||
|
|
||||||
/// Inline cast operator to int
|
/// Inline cast operator to int
|
||||||
inline operator int() const
|
inline operator int() const
|
||||||
|
@ -87,9 +87,10 @@ int main (void)
|
|||||||
int id = query.getColumn(0); // = query.getColumn(0).getInt()
|
int id = query.getColumn(0); // = query.getColumn(0).getInt()
|
||||||
//const char* pvalue = query.getColumn(1); // = query.getColumn(1).getText()
|
//const char* pvalue = query.getColumn(1); // = query.getColumn(1).getText()
|
||||||
std::string value2 = query.getColumn(1); // = query.getColumn(1).getText()
|
std::string value2 = query.getColumn(1); // = query.getColumn(1).getText()
|
||||||
|
int bytes = query.getColumn(1).getBytes();
|
||||||
int size = query.getColumn(2); // = query.getColumn(2).getInt()
|
int size = query.getColumn(2); // = query.getColumn(2).getInt()
|
||||||
|
|
||||||
std::cout << "row : (" << id << ", " << value2.c_str() << ", " << size << ")\n";
|
std::cout << "row : (" << id << ", " << value2.c_str() << ", " << bytes << ", " << size << ")\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset the query to use it again
|
// Reset the query to use it again
|
||||||
|
Loading…
x
Reference in New Issue
Block a user