[Groonga-commit] groonga/grnxx at c9a7554 [master] Remove Time data type.

Zurück zum Archiv-Index

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 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index