lib/bmg/sequel/translator.rb in bmg-0.16.3 vs lib/bmg/sequel/translator.rb in bmg-0.16.4
- old
+ new
@@ -117,10 +117,16 @@
def on_native_table_as(sexpr)
sexpr[1].from_self(:alias => sexpr.as_name)
end
def on_table_as(sexpr)
- ::Sequel.as(::Sequel.expr(sexpr.table_name.to_sym), ::Sequel.identifier(sexpr.as_name))
+ table_name = case sexpr.table_name
+ when String, Symbol then ::Sequel.expr(sexpr.table_name.to_sym)
+ when ::Sequel::SQL::QualifiedIdentifier then sexpr.table_name
+ else
+ raise ArgumentError, "Invalid table name `#{sexpr.table_name}`"
+ end
+ ::Sequel.as(table_name, ::Sequel.identifier(sexpr.as_name))
end
def on_subquery_as(sexpr)
::Sequel.as(apply(sexpr.subquery), ::Sequel.identifier(sexpr.as_name))
end