lib/axiom.rb in axiom-0.1.1 vs lib/axiom.rb in axiom-0.2.0
- old
+ new
@@ -1,8 +1,9 @@
# encoding: utf-8
require 'bigdecimal'
+require 'bigdecimal/util'
require 'date'
require 'set'
require 'singleton'
require 'abstract_type'
@@ -22,14 +23,14 @@
class InvalidLimitError < ArgumentError; end
# Raised when the offset is not a positive integer
class InvalidOffsetError < ArgumentError; end
- # Raised when a method requiring ordering is called on an unordered relation
- class OrderedRelationRequiredError < StandardError; end
+ # Raised when a method requiring ordering is called on an unsorted relation
+ class SortededRelationRequiredError < StandardError; end
- # Raised when a binary operation mixes ordered and unordered relations
+ # Raised when a binary operation mixes sorted and unsorted relations
class RelationMismatchError < StandardError; end
# Raised when a name is a duplicate of another name in a set
class DuplicateNameError < ArgumentError; end
@@ -47,11 +48,11 @@
# Raised when inserting into an extension with a mismatching relation
class ExtensionMismatchError < WriteError; end
# Raised when inserting into an order with a mismatching relation
- class OrderMismatchError < WriteError; end
+ class SortedMismatchError < WriteError; end
# Raised when inserting into an immutable relation
class ImmutableRelationError < WriteError; end
# Raised when the set size is unexpected
@@ -126,31 +127,34 @@
require 'axiom/aggregate/variance'
require 'axiom/aggregate/standard_deviation'
require 'axiom/relation'
-require 'axiom/relation/proxy'
-
require 'axiom/relation/keys'
require 'axiom/relation/header'
+require 'axiom/relation/index'
require 'axiom/relation/base'
-require 'axiom/relation/variable'
require 'axiom/relation/materialized'
require 'axiom/relation/empty'
require 'axiom/relation/operation/unary'
require 'axiom/relation/operation/binary'
require 'axiom/relation/operation/combination'
-require 'axiom/relation/operation/set'
-require 'axiom/relation/operation/offset'
-require 'axiom/relation/operation/order'
-require 'axiom/relation/operation/order/direction'
-require 'axiom/relation/operation/order/direction_set'
+
+require 'axiom/relation/operation/group'
require 'axiom/relation/operation/limit'
+require 'axiom/relation/operation/offset'
+require 'axiom/relation/operation/sorted'
+require 'axiom/relation/operation/sorted/direction'
+require 'axiom/relation/operation/sorted/direction_set'
require 'axiom/relation/operation/reverse'
+require 'axiom/relation/operation/set'
+require 'axiom/relation/operation/ungroup'
+require 'axiom/relation/operation/unwrap'
+require 'axiom/relation/operation/wrap'
require 'axiom/algebra/difference'
require 'axiom/algebra/extension'
require 'axiom/algebra/intersection'
require 'axiom/algebra/join'
@@ -162,27 +166,32 @@
require 'axiom/algebra/summarization'
require 'axiom/algebra/summarization/summaries'
require 'axiom/algebra/summarization/summary'
require 'axiom/algebra/union'
+require 'axiom/relation/proxy'
+require 'axiom/relation/variable'
require 'axiom/relation/operation/deletion'
require 'axiom/relation/operation/insertion'
require 'axiom/attribute/comparable'
+require 'axiom/attribute/length_comparable'
+require 'axiom/attribute/value_comparable'
require 'axiom/attribute'
require 'axiom/attribute/object'
require 'axiom/attribute/numeric'
+
require 'axiom/attribute/boolean'
require 'axiom/attribute/class'
require 'axiom/attribute/date'
require 'axiom/attribute/date_time'
require 'axiom/attribute/decimal'
require 'axiom/attribute/float'
require 'axiom/attribute/integer'
-require 'axiom/attribute/time'
require 'axiom/attribute/string'
+require 'axiom/attribute/time'
require 'axiom/function/numeric'
require 'axiom/function/numeric/absolute'
require 'axiom/function/numeric/addition'
@@ -199,9 +208,15 @@
require 'axiom/tuple'
require 'axiom/version'
require 'axiom-types'
+
+require 'axiom/types/relation'
+require 'axiom/types/tuple'
+
+require 'axiom/attribute/relation'
+require 'axiom/attribute/tuple'
module Axiom
# Represent a relation with an empty header and no tuples
TABLE_DUM = Relation::Empty.new(Relation::Header::EMPTY)