susumu.yata
null+****@clear*****
Wed Aug 27 10:43:26 JST 2014
susumu.yata 2014-08-27 10:43:26 +0900 (Wed, 27 Aug 2014) New Revision: c9a7554c71efc1a4a3d9b4463b47bd8cfcd9de2b https://github.com/groonga/grnxx/commit/c9a7554c71efc1a4a3d9b4463b47bd8cfcd9de2b Message: Remove Time data type. Modified files: include/grnxx/datum.hpp include/grnxx/expression.hpp include/grnxx/types.hpp lib/grnxx/column.cpp lib/grnxx/expression.cpp lib/grnxx/sorter.cpp Modified: include/grnxx/datum.hpp (+0 -10) =================================================================== --- include/grnxx/datum.hpp 2014-08-26 14:34:02 +0900 (05c5b42) +++ include/grnxx/datum.hpp 2014-08-27 10:43:26 +0900 (b3a1bf5) @@ -19,9 +19,6 @@ class Datum { Datum(Float value) : type_(FLOAT_DATA), float_(value) {} - Datum(Time value) - : type_(TIME_DATA), - time_(value) {} Datum(GeoPoint value) : type_(GEO_POINT_DATA), geo_point_(value) {} @@ -44,9 +41,6 @@ class Datum { Float force_float() const { return float_; } - Time force_time() const { - return time_; - } GeoPoint force_geo_point() const { return geo_point_; } @@ -64,9 +58,6 @@ class Datum { void force(Float *value) const { *value = float_; } - void force(Time *value) const { - *value = time_; - } void force(GeoPoint *value) const { *value = geo_point_; } @@ -80,7 +71,6 @@ class Datum { Bool bool_; Int int_; Float float_; - Time time_; GeoPoint geo_point_; String text_; }; Modified: include/grnxx/expression.hpp (+4 -5) =================================================================== --- include/grnxx/expression.hpp 2014-08-26 14:34:02 +0900 (88702a8) +++ include/grnxx/expression.hpp 2014-08-27 10:43:26 +0900 (b4f8802) @@ -25,7 +25,6 @@ enum OperatorType { // TO_BOOL_OPERATOR, TO_INT_OPERATOR, TO_FLOAT_OPERATOR, -// TO_TIME_OPERATOR, // TO_GEO_POINT_OPERATOR, // TO_TEXT_OPERATOR, @@ -40,10 +39,10 @@ enum OperatorType { NOT_EQUAL_OPERATOR, // For any types. // Comparison operators. - LESS_OPERATOR, // Int, Float, Time, Text. - LESS_EQUAL_OPERATOR, // Int, Float, Time, Text. - GREATER_OPERATOR, // Int, Float, Time, Text. - GREATER_EQUAL_OPERATOR, // Int, Float, Time, Text. + LESS_OPERATOR, // Int, Float, Text. + LESS_EQUAL_OPERATOR, // Int, Float, Text. + GREATER_OPERATOR, // Int, Float, Text. + GREATER_EQUAL_OPERATOR, // Int, Float, Text. // Bitwise operators. BITWISE_AND_OPERATOR, // For Bool, Int. Modified: include/grnxx/types.hpp (+0 -57) =================================================================== --- include/grnxx/types.hpp 2014-08-26 14:34:02 +0900 (37632b4) +++ include/grnxx/types.hpp 2014-08-27 10:43:26 +0900 (05f956e) @@ -61,10 +61,6 @@ enum DataType { // Value: Double precision (64-bit) floating point number. // Default: 0.0. FLOAT_DATA, - // Type: Time. - // Value: Microseconds since the Unix epoch (1970-01-01 00:00:00 UTC). - // Default: The Unix epoch. - TIME_DATA, // Type: GeoPoint. // Value: Latitude-longitude in milliseconds. // Default: (0, 0). @@ -89,7 +85,6 @@ enum DataType { BOOL_VECTOR_DATA, INT_VECTOR_DATA, FLOAT_VECTOR_DATA, - TIME_VECTOR_DATA, GEO_POINT_VECTOR_DATA, TEXT_VECTOR_DATA, ROW_REF_VECTOR_DATA @@ -101,50 +96,6 @@ using Int = int64_t; using Float = double; -class Time { - public: - // The default constructor does nothing. - Time() = default; - - explicit Time(Int tick_count) : tick_count_(tick_count) {} - - void set_tick_count(Int tick_count) { - tick_count_ = tick_count; - } - - Int tick_count() const { - return tick_count_; - } - - private: - Int tick_count_; // Microseconds since the Unix epoch - // (1970-01-01 00:00:00 UTC). -}; - -inline bool operator==(Time lhs, Time rhs) { - return lhs.tick_count() == rhs.tick_count(); -} - -inline bool operator!=(Time lhs, Time rhs) { - return lhs.tick_count() != rhs.tick_count(); -} - -inline bool operator<(Time lhs, Time rhs) { - return lhs.tick_count() < rhs.tick_count(); -} - -inline bool operator>(Time lhs, Time rhs) { - return lhs.tick_count() > rhs.tick_count(); -} - -inline bool operator<=(Time lhs, Time rhs) { - return lhs.tick_count() <= rhs.tick_count(); -} - -inline bool operator>=(Time lhs, Time rhs) { - return lhs.tick_count() >= rhs.tick_count(); -} - class GeoPoint { public: // The default constructor does nothing. @@ -316,14 +267,6 @@ template <> struct TypeTraits <Float> { return 0.0; } }; -template <> struct TypeTraits <Time> { - static DataType data_type() { - return TIME_DATA; - } - static Time default_value() { - return Time(0); - } -}; template <> struct TypeTraits <GeoPoint> { static DataType data_type() { return GEO_POINT_DATA; Modified: lib/grnxx/column.cpp (+0 -3) =================================================================== --- lib/grnxx/column.cpp 2014-08-26 14:34:02 +0900 (38bffb7) +++ lib/grnxx/column.cpp 2014-08-27 10:43:26 +0900 (0b67ad7) @@ -82,9 +82,6 @@ unique_ptr<Column> Column::create(Error *error, case FLOAT_DATA: { return ColumnImpl<Float>::create(error, table, name, options); } - case TIME_DATA: { - return ColumnImpl<Time>::create(error, table, name, options); - } case GEO_POINT_DATA: { return ColumnImpl<GeoPoint>::create(error, table, name, options); } Modified: lib/grnxx/expression.cpp (+0 -15) =================================================================== --- lib/grnxx/expression.cpp 2014-08-26 14:34:02 +0900 (e443683) +++ lib/grnxx/expression.cpp 2014-08-27 10:43:26 +0900 (ec83b15) @@ -2299,7 +2299,6 @@ bool Expression::evaluate(Error *error, GRNXX_INSTANTIATE_EXPRESSION_EVALUATE(Bool); GRNXX_INSTANTIATE_EXPRESSION_EVALUATE(Int); GRNXX_INSTANTIATE_EXPRESSION_EVALUATE(Float); -GRNXX_INSTANTIATE_EXPRESSION_EVALUATE(Time); GRNXX_INSTANTIATE_EXPRESSION_EVALUATE(GeoPoint); GRNXX_INSTANTIATE_EXPRESSION_EVALUATE(Text); #undef GRNXX_INSTANTIATE_EXPRESSION_EVALUATE @@ -2470,9 +2469,6 @@ unique_ptr<Node> ExpressionBuilder::create_datum_node( case FLOAT_DATA: { return DatumNode<Float>::create(error, datum.force_float()); } - case TIME_DATA: { - return DatumNode<Time>::create(error, datum.force_time()); - } case GEO_POINT_DATA: { return DatumNode<GeoPoint>::create(error, datum.force_geo_point()); } @@ -2525,9 +2521,6 @@ unique_ptr<Node> ExpressionBuilder::create_column_node( case FLOAT_DATA: { return ColumnNode<Float>::create(error, column); } - case TIME_DATA: { - return ColumnNode<Time>::create(error, column); - } case GEO_POINT_DATA: { return ColumnNode<GeoPoint>::create(error, column); } @@ -2768,10 +2761,6 @@ unique_ptr<Node> ExpressionBuilder::create_equality_test_node( return ComparisonNode<typename T:: template Comparer<Float>>::create( error, std::move(arg1), std::move(arg2)); } - case TIME_DATA: { - return ComparisonNode<typename T:: template Comparer<Time>>::create( - error, std::move(arg1), std::move(arg2)); - } case GEO_POINT_DATA: { return ComparisonNode<typename T:: template Comparer<GeoPoint>>::create( error, std::move(arg1), std::move(arg2)); @@ -2806,10 +2795,6 @@ unique_ptr<Node> ExpressionBuilder::create_comparison_node( return ComparisonNode<typename T:: template Comparer<Float>>::create( error, std::move(arg1), std::move(arg2)); } - case TIME_DATA: { - return ComparisonNode<typename T:: template Comparer<Time>>::create( - error, std::move(arg1), std::move(arg2)); - } case TEXT_DATA: { return ComparisonNode<typename T:: template Comparer<Text>>::create( error, std::move(arg1), std::move(arg2)); Modified: lib/grnxx/sorter.cpp (+0 -10) =================================================================== --- lib/grnxx/sorter.cpp 2014-08-26 14:34:02 +0900 (56e778f) +++ lib/grnxx/sorter.cpp 2014-08-27 10:43:26 +0900 (39c1af4) @@ -490,16 +490,6 @@ unique_ptr<Node> Node::create(Error *error, SortOrder &&order) { } break; } - case TIME_DATA: { - if (order.type == REGULAR_ORDER) { - node.reset(new (nothrow) QuickSortNode<RegularComparer<Time>>( - std::move(order))); - } else { - node.reset(new (nothrow) QuickSortNode<ReverseComparer<Time>>( - std::move(order))); - } - break; - } case GEO_POINT_DATA: { if (order.type == REGULAR_ORDER) { node.reset(new (nothrow) QuickSortNode<RegularComparer<GeoPoint>>( -------------- next part -------------- HTML����������������������������... Download