diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-02-23 10:48:37 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-02-23 10:48:37 -0800 |
commit | b757de114cf79d0bab14b086f4ccc7480b9421d8 (patch) | |
tree | 0ca4d7ee6bc92f0337d894e2fcc844947d5d2c3d /lib/arel/nodes/extract.rb | |
parent | 6e427e589820278908e7a746749eb9b79b0f85e3 (diff) | |
parent | 74aadecc4f58e73704ac6a6fdaf25e48832374cf (diff) | |
download | rails-b757de114cf79d0bab14b086f4ccc7480b9421d8.tar.gz rails-b757de114cf79d0bab14b086f4ccc7480b9421d8.tar.bz2 rails-b757de114cf79d0bab14b086f4ccc7480b9421d8.zip |
Merge pull request #103 from alexstaubo/master
ANSI SQL2003 window functions
Diffstat (limited to 'lib/arel/nodes/extract.rb')
-rw-r--r-- | lib/arel/nodes/extract.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/arel/nodes/extract.rb b/lib/arel/nodes/extract.rb new file mode 100644 index 0000000000..1c9ee78816 --- /dev/null +++ b/lib/arel/nodes/extract.rb @@ -0,0 +1,23 @@ +module Arel + module Nodes + + class Extract < Arel::Nodes::Unary + include Arel::Expression + include Arel::Predications + + attr_accessor :field + attr_accessor :alias + + def initialize expr, field, aliaz = nil + super(expr) + @field = field + @alias = aliaz && SqlLiteral.new(aliaz) + end + + def as aliaz + self.alias = SqlLiteral.new(aliaz) + self + end + end + end +end |