From 346d9c6bde5ae0a0c918b4e0b25d79aa2760234a Mon Sep 17 00:00:00 2001 From: Nick Kallen Date: Sat, 5 Jan 2008 13:00:39 -0800 Subject: basic rename functionality --- lib/sql_algebra.rb | 1 + lib/sql_algebra/relations/attribute.rb | 4 ++++ lib/sql_algebra/relations/relation.rb | 4 ++++ 3 files changed, 9 insertions(+) (limited to 'lib') 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 -- cgit v1.2.3