summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libdbpp/column.h1
-rw-r--r--libdbpp/connection.h7
-rw-r--r--libdbpp/selectcommand.h19
-rw-r--r--libdbpp/sqlParse.h21
4 files changed, 37 insertions, 11 deletions
diff --git a/libdbpp/column.h b/libdbpp/column.h
index 8a4e203..981cde6 100644
--- a/libdbpp/column.h
+++ b/libdbpp/column.h
@@ -65,6 +65,7 @@ namespace DB {
void operator>>(boost::posix_time::time_duration &) const;
/// STL like date time extractor.
void operator>>(boost::posix_time::ptime &) const;
+ /// STL like wrapper for optional types.
template <typename T>
void operator>>(boost::optional<T> & v) const {
if (!isNull()) {
diff --git a/libdbpp/connection.h b/libdbpp/connection.h
index e34315a..ab3882d 100644
--- a/libdbpp/connection.h
+++ b/libdbpp/connection.h
@@ -35,9 +35,13 @@ namespace DB {
typedef ColumnNames PrimaryKey;
typedef PrimaryKey::const_iterator PKI;
+ /// Result of a table patch operation.
struct PatchResult {
+ /// Number of rows deleted.
unsigned int deletes;
+ /// Number of rows updated.
unsigned int updates;
+ /// Number of rows inserted.
unsigned int inserts;
};
@@ -60,8 +64,9 @@ namespace DB {
SqlWriter * order;
};
+ /// Exception thrown when attempting to perform a table patch with invalid settings.
class DLL_PUBLIC PatchCheckFailure : public AdHoc::StdException {
- public:
+ private:
std::string message() const throw() override;
};
diff --git a/libdbpp/selectcommand.h b/libdbpp/selectcommand.h
index 1165de1..c29084a 100644
--- a/libdbpp/selectcommand.h
+++ b/libdbpp/selectcommand.h
@@ -16,20 +16,35 @@
namespace DB {
class Column;
+
+ /// Exception thrown when the requested column is outside the range of the result set.
class DLL_PUBLIC ColumnIndexOutOfRange : public AdHoc::Exception<Error> {
public:
+ /// New ColumnIndexOutOfRange exception
+ /// @param n Index requested
ColumnIndexOutOfRange(unsigned int n);
- std::string message() const throw() override;
+ /// Index requested
const unsigned int colNo;
+
+ private:
+ std::string message() const throw() override;
};
+
+ /// Exception thrown when the requested column does not exist in the result set.
class DLL_PUBLIC ColumnDoesNotExist : public AdHoc::Exception<Error> {
public:
+ /// New ColumnDoesNotExist exception
+ /// @param n Name requested
ColumnDoesNotExist(const Glib::ustring & n);
- std::string message() const throw() override;
+ /// Name requested
const Glib::ustring colName;
+
+ private:
+ std::string message() const throw() override;
};
+
/// Represents a command expected to return data to the client.
class DLL_PUBLIC SelectCommand : public virtual Command {
public:
diff --git a/libdbpp/sqlParse.h b/libdbpp/sqlParse.h
index 3c8add0..d56bce9 100644
--- a/libdbpp/sqlParse.h
+++ b/libdbpp/sqlParse.h
@@ -12,14 +12,19 @@
#endif
namespace DB {
-class DLL_PUBLIC SqlParseException : public AdHoc::StdException {
- public:
- SqlParseException(const char *, unsigned int);
- private:
- std::string message() const throw() override;
- const char * reason;
- const unsigned int line;
-};
+ /// Exception representing a failure to parse an SQL script
+ class DLL_PUBLIC SqlParseException : public AdHoc::StdException {
+ public:
+ /// Create a new SqlParseException
+ /// @param what What went wrong
+ /// @param line What line number
+ SqlParseException(const char * what, unsigned int line);
+
+ private:
+ std::string message() const throw() override;
+ const char * reason;
+ const unsigned int line;
+ };
/// @cond
class SqlParse : public yyFlexLexer {