2010-10-18 19:54:50 -04:00
|
|
|
require 'helper'
|
2010-10-13 16:23:52 -04:00
|
|
|
|
|
|
|
module Arel
|
|
|
|
module Visitors
|
|
|
|
describe 'the postgres visitor' do
|
|
|
|
before do
|
|
|
|
@visitor = PostgreSQL.new Table.engine
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'should produce a lock value' do
|
2010-10-18 18:41:21 -04:00
|
|
|
@visitor.accept(Nodes::Lock.new).must_be_like %{
|
2010-10-13 16:23:52 -04:00
|
|
|
FOR UPDATE
|
|
|
|
}
|
|
|
|
end
|
2010-12-06 23:26:08 -05:00
|
|
|
|
|
|
|
it "should escape LIMIT" do
|
|
|
|
sc = Arel::Nodes::SelectStatement.new
|
|
|
|
sc.limit = "omg"
|
|
|
|
sc.cores.first.projections << 'DISTINCT ON'
|
|
|
|
sc.orders << "xyz"
|
|
|
|
assert_match(/LIMIT 'omg'/, @visitor.accept(sc))
|
|
|
|
end
|
2010-10-13 16:23:52 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|