aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sql_algebra.rb1
-rw-r--r--lib/sql_algebra/relations/attribute.rb4
-rw-r--r--lib/sql_algebra/relations/relation.rb4
3 files changed, 9 insertions, 0 deletions
diff --git a/lib/sql_algebra.rb b/lib/sql_algebra.rb
index b3e3c8d176..61625ff270 100644
--- a/lib/sql_algebra.rb
+++ b/lib/sql_algebra.rb
@@ -17,6 +17,7 @@ require 'sql_algebra/relations/projection_relation'
require 'sql_algebra/relations/selection_relation'
require 'sql_algebra/relations/order_relation'
require 'sql_algebra/relations/range_relation'
+require 'sql_algebra/relations/rename_relation'
require 'sql_algebra/relations/join'
require 'sql_algebra/predicates/predicate'
diff --git a/lib/sql_algebra/relations/attribute.rb b/lib/sql_algebra/relations/attribute.rb
index 85d40dfb12..89ac495245 100644
--- a/lib/sql_algebra/relations/attribute.rb
+++ b/lib/sql_algebra/relations/attribute.rb
@@ -5,6 +5,10 @@ class Attribute
@relation, @attribute_name, @aliaz = relation, attribute_name, aliaz
end
+ def aliazz(aliaz)
+ Attribute.new(relation, attribute_name, aliaz)
+ end
+
def eql?(other)
relation == other.relation and attribute_name == other.attribute_name
end
diff --git a/lib/sql_algebra/relations/relation.rb b/lib/sql_algebra/relations/relation.rb
index 8c21927d01..02723ae0cc 100644
--- a/lib/sql_algebra/relations/relation.rb
+++ b/lib/sql_algebra/relations/relation.rb
@@ -32,6 +32,10 @@ class Relation
def order(*attributes)
OrderRelation.new(self, *attributes)
end
+
+ def rename(attribute, aliaz)
+ RenameRelation.new(self, attribute, aliaz)
+ end
end
include Operations