aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/arel/nodes/over.rb2
-rw-r--r--test/nodes/test_over.rb9
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/arel/nodes/over.rb b/lib/arel/nodes/over.rb
index 727ccd2dc7..21d1b5029e 100644
--- a/lib/arel/nodes/over.rb
+++ b/lib/arel/nodes/over.rb
@@ -2,6 +2,8 @@ module Arel
module Nodes
class Over < Binary
+ include Arel::AliasPredication
+
def initialize(left, right = nil)
super(left, right)
end
diff --git a/test/nodes/test_over.rb b/test/nodes/test_over.rb
index fcc5078e7b..0bdd665e56 100644
--- a/test/nodes/test_over.rb
+++ b/test/nodes/test_over.rb
@@ -1,6 +1,15 @@
require 'helper'
describe Arel::Nodes::Over do
+ describe 'as' do
+ it 'should alias the expression' do
+ table = Arel::Table.new :users
+ table[:id].count.over.as('foo').to_sql.must_be_like %{
+ COUNT("users"."id") OVER () AS foo
+ }
+ end
+ end
+
describe 'with literal' do
it 'should reference the window definition by name' do
table = Arel::Table.new :users