dbms: development [#CONV-2944].

This commit is contained in:
Alexey Milovidov 2012-05-14 20:37:10 +00:00
parent 9e1271cc76
commit c89ff86132
6 changed files with 20 additions and 27 deletions

View File

@ -38,4 +38,7 @@ using Poco::SharedPtr;
typedef SharedPtr<Poco::Exception> ExceptionPtr;
typedef std::vector<ExceptionPtr> Exceptions;
void throwFromErrno(const std::string & s, int code = 0);
}

View File

@ -46,12 +46,6 @@ protected:
return true;
}
void throwFromErrno(const std::string & s, int code)
{
char buf[128];
throw Exception(s + ", errno: " + Poco::NumberFormatter::format(errno) + ", strerror: " + std::string(strerror_r(errno, buf, sizeof(buf))), code);
}
/// Имя или описание файла
virtual std::string getFileName()
{

View File

@ -40,12 +40,6 @@ protected:
}
}
void throwFromErrno(const std::string & s, int code)
{
char buf[128];
throw Exception(s + ", errno: " + Poco::NumberFormatter::format(errno) + ", strerror: " + std::string(strerror_r(errno, buf, sizeof(buf))), code);
}
/// Имя или описание файла
virtual std::string getFileName()
{

View File

@ -57,13 +57,6 @@ namespace DB
using Poco::SharedPtr;
void throwFromErrno(const std::string & s, int code)
{
char buf[128];
throw Exception(s + ", errno: " + Poco::NumberFormatter::format(errno) + ", strerror: " + std::string(strerror_r(errno, buf, sizeof(buf))), code);
}
/** Пока существует объект этого класса - блокирует сигнал INT, при этом позволяет узнать, не пришёл ли он.
* В один момент времени используйте только один экземпляр этого класса.
*/

View File

@ -1,3 +1,8 @@
#include <errno.h>
#include <string.h>
#include <Poco/NumberFormatter.h>
#include <DB/Core/Exception.h>
@ -39,4 +44,11 @@ void Exception::rethrow() const
throw *this;
}
void throwFromErrno(const std::string & s, int code)
{
char buf[128];
throw Exception(s + ", errno: " + Poco::NumberFormatter::format(errno) + ", strerror: " + std::string(strerror_r(errno, buf, sizeof(buf))), code);
}
}

View File

@ -12,10 +12,15 @@
#include <Poco/Exception.h>
#include <Poco/SharedPtr.h>
#include <DB/Core/Exception.h>
#include <statdaemons/threadpool.hpp>
#include <statdaemons/Stopwatch.h>
using DB::throwFromErrno;
enum Mode
{
MODE_READ,
@ -26,14 +31,6 @@ enum Mode
typedef Poco::SharedPtr<Poco::Exception> ExceptionPtr;
void throwFromErrno(const std::string & s)
{
char buf[128];
throw Poco::Exception(s + ", errno: " + Poco::NumberFormatter::format(errno)
+ ", strerror: " + std::string(strerror_r(errno, buf, sizeof(buf))));
}
void thread(int fd, Mode mode, size_t min_offset, size_t max_offset, size_t block_size, size_t count, ExceptionPtr & exception)
{
try