From 34eeed7ed314b424df6cb0e3c7b0acdaf60e3635 Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Tue, 20 May 2014 02:05:33 +0400 Subject: [PATCH] Renamed mysqlxx::String and sqxxl::String to mysqlxx::Value and sqxxl::Value [#METR-2807]. --- dbms/include/DB/IO/ReadBufferFromString.h | 2 +- dbms/src/DataTypes/DataTypeFactory.cpp | 4 +- libs/libmysqlxx/include/mysqlxx/Manip.h | 2 +- libs/libmysqlxx/include/mysqlxx/Row.h | 10 ++-- .../include/mysqlxx/{String.h => Value.h} | 48 +++++++++---------- libs/libmysqlxx/src/{String.cpp => Value.cpp} | 4 +- 6 files changed, 35 insertions(+), 35 deletions(-) rename libs/libmysqlxx/include/mysqlxx/{String.h => Value.h} (85%) rename libs/libmysqlxx/src/{String.cpp => Value.cpp} (80%) diff --git a/dbms/include/DB/IO/ReadBufferFromString.h b/dbms/include/DB/IO/ReadBufferFromString.h index 0b9530ee6c5..4a8a6ad5a58 100644 --- a/dbms/include/DB/IO/ReadBufferFromString.h +++ b/dbms/include/DB/IO/ReadBufferFromString.h @@ -11,7 +11,7 @@ namespace DB class ReadBufferFromString : public ReadBuffer { public: - /// std::string или mysqlxx::String + /// std::string или mysqlxx::Value template ReadBufferFromString(const S & s) : ReadBuffer(const_cast(s.data()), s.size(), 0) {} }; diff --git a/dbms/src/DataTypes/DataTypeFactory.cpp b/dbms/src/DataTypes/DataTypeFactory.cpp index b2869f63b33..71e19b42240 100644 --- a/dbms/src/DataTypes/DataTypeFactory.cpp +++ b/dbms/src/DataTypes/DataTypeFactory.cpp @@ -2,7 +2,7 @@ #include #include -#include +#include #include #include @@ -57,7 +57,7 @@ DataTypePtr DataTypeFactory::get(const String & name) const Poco::RegularExpression::MatchVec matches; if (fixed_string_regexp.match(name, 0, matches) && matches.size() == 2) - return new DataTypeFixedString(mysqlxx::String(name.data() + matches[1].offset, matches[1].length, nullptr).getUInt()); + return new DataTypeFixedString(mysqlxx::Value(name.data() + matches[1].offset, matches[1].length, nullptr).getUInt()); if (nested_regexp.match(name, 0, matches) && matches.size() == 3) { diff --git a/libs/libmysqlxx/include/mysqlxx/Manip.h b/libs/libmysqlxx/include/mysqlxx/Manip.h index d4bb54e6243..07542cc82fb 100644 --- a/libs/libmysqlxx/include/mysqlxx/Manip.h +++ b/libs/libmysqlxx/include/mysqlxx/Manip.h @@ -89,7 +89,7 @@ struct EscapeManipResult } - std::ostream & operator<< (const String & string) + std::ostream & operator<< (const Value & string) { writeEscapedData(string.data(), string.size()); return ostr; diff --git a/libs/libmysqlxx/include/mysqlxx/Row.h b/libs/libmysqlxx/include/mysqlxx/Row.h index 814b1fe3eee..7623556fc37 100644 --- a/libs/libmysqlxx/include/mysqlxx/Row.h +++ b/libs/libmysqlxx/include/mysqlxx/Row.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include @@ -43,15 +43,15 @@ public: /** Получить значение по индексу. * Здесь используется int, а не unsigned, чтобы не было неоднозначности с тем же методом, принимающим const char *. */ - String operator[] (int n) const + Value operator[] (int n) const { if (unlikely(static_cast(n) >= res->getNumFields())) throw Exception("Index of column is out of range."); - return String(row[n], lengths[n], res); + return Value(row[n], lengths[n], res); } /** Получить значение по имени. Слегка менее эффективно. */ - String operator[] (const char * name) const + Value operator[] (const char * name) const { unsigned n = res->getNumFields(); MYSQL_FIELDS fields = res->getFields(); @@ -64,7 +64,7 @@ public: } /** Получить значение по индексу. */ - String at(size_t n) const + Value at(size_t n) const { return operator[](n); } diff --git a/libs/libmysqlxx/include/mysqlxx/String.h b/libs/libmysqlxx/include/mysqlxx/Value.h similarity index 85% rename from libs/libmysqlxx/include/mysqlxx/String.h rename to libs/libmysqlxx/include/mysqlxx/Value.h index 38b2447aedc..a56c523824a 100644 --- a/libs/libmysqlxx/include/mysqlxx/String.h +++ b/libs/libmysqlxx/include/mysqlxx/Value.h @@ -31,7 +31,7 @@ class ResultBase; * Позволяет преобразовать значение (распарсить) в различные типы данных: * - с помощью функций вида getUInt(), getString(), ... (рекомендуется); * - с помощью шаблонной функции get(), которая специализирована для многих типов (для шаблонного кода); - * - шаблонная функция get работает также для всех типов, у которых есть конструктор из String + * - шаблонная функция get работает также для всех типов, у которых есть конструктор из Value * (это сделано для возможности расширения); * - с помощью operator Type() - но этот метод реализован лишь для совместимости и не рекомендуется * к использованию, так как неудобен (часто возникают неоднозначности). @@ -45,13 +45,13 @@ class ResultBase; * корректно распарсится согласно текущей тайм-зоне, сделано так, что метод getUInt и соответствующие методы get<>() * также умеют парсить дату и дату-время. */ -class String +class Value { public: /** Параметр res_ используется только для генерации подробной информации в исключениях. * Можно передать NULL - тогда подробной информации в исключениях не будет. */ - String(const char * data_, size_t length_, const ResultBase * res_) : m_data(data_), m_length(length_), res(res_) + Value(const char * data_, size_t length_, const ResultBase * res_) : m_data(data_), m_length(length_), res(res_) { } @@ -119,7 +119,7 @@ public: bool is_null() const { return isNull(); } /** Получить любой поддерживаемый тип (для шаблонного кода). - * Поддерживаются основные типы, а также любые типы с конструктором от String (для удобства расширения). + * Поддерживаются основные типы, а также любые типы с конструктором от Value (для удобства расширения). */ template T get() const; @@ -377,30 +377,30 @@ private: }; -template <> inline bool String::get() const { return getBool(); } -template <> inline char String::get() const { return getInt(); } -template <> inline signed char String::get() const { return getInt(); } -template <> inline unsigned char String::get() const { return getUInt(); } -template <> inline short String::get() const { return getInt(); } -template <> inline unsigned short String::get() const { return getUInt(); } -template <> inline int String::get() const { return getInt(); } -template <> inline unsigned int String::get() const { return getUInt(); } -template <> inline long String::get() const { return getInt(); } -template <> inline unsigned long String::get() const { return getUInt(); } -template <> inline long long String::get() const { return getInt(); } -template <> inline unsigned long long String::get() const { return getUInt(); } -template <> inline float String::get() const { return getDouble(); } -template <> inline double String::get() const { return getDouble(); } -template <> inline std::string String::get() const { return getString(); } -template <> inline Date String::get() const { return getDate(); } -template <> inline DateTime String::get() const { return getDateTime(); } +template <> inline bool Value::get() const { return getBool(); } +template <> inline char Value::get() const { return getInt(); } +template <> inline signed char Value::get() const { return getInt(); } +template <> inline unsigned char Value::get() const { return getUInt(); } +template <> inline short Value::get() const { return getInt(); } +template <> inline unsigned short Value::get() const { return getUInt(); } +template <> inline int Value::get() const { return getInt(); } +template <> inline unsigned int Value::get() const { return getUInt(); } +template <> inline long Value::get() const { return getInt(); } +template <> inline unsigned long Value::get() const { return getUInt(); } +template <> inline long long Value::get() const { return getInt(); } +template <> inline unsigned long long Value::get() const { return getUInt(); } +template <> inline float Value::get() const { return getDouble(); } +template <> inline double Value::get() const { return getDouble(); } +template <> inline std::string Value::get() const { return getString(); } +template <> inline Date Value::get() const { return getDate(); } +template <> inline DateTime Value::get() const { return getDateTime(); } -template <> inline VisitID_t String::get() const { return VisitID_t(getUInt()); } +template <> inline VisitID_t Value::get() const { return VisitID_t(getUInt()); } -template inline T String::get() const { return T(*this); } +template inline T Value::get() const { return T(*this); } -inline std::ostream & operator<< (std::ostream & ostr, const String & x) +inline std::ostream & operator<< (std::ostream & ostr, const Value & x) { return ostr.write(x.data(), x.size()); } diff --git a/libs/libmysqlxx/src/String.cpp b/libs/libmysqlxx/src/Value.cpp similarity index 80% rename from libs/libmysqlxx/src/String.cpp rename to libs/libmysqlxx/src/Value.cpp index c67427d1715..e0198924b4e 100644 --- a/libs/libmysqlxx/src/String.cpp +++ b/libs/libmysqlxx/src/Value.cpp @@ -1,10 +1,10 @@ -#include +#include #include #include #include -void mysqlxx::String::throwException(const char * text) const +void mysqlxx::Value::throwException(const char * text) const { std::stringstream info; info << text;