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)