Derby doesn’t support an expression between CASE and WHEN, so remove conditions.
# File lib/sequel/adapters/jdbc/derby.rb, line 232 def case_expression_sql_append(sql, ce) super(sql, ce.with_merged_expression) end
If the type is String, trim the extra spaces since CHAR is used instead of varchar. This can cause problems if you are casting a char/varchar to a string and the ending whitespace is important.
# File lib/sequel/adapters/jdbc/derby.rb, line 239 def cast_sql_append(sql, expr, type) if type == String sql << "RTRIM(" super sql << ')' else super end end
# File lib/sequel/adapters/jdbc/derby.rb, line 249 def complex_expression_sql_append(sql, op, args) case op when :%, :'B~' complex_expression_emulate_append(sql, op, args) when :&, :|, :^, :<<, :>> raise Error, "Derby doesn't support the #{op} operator" when :** sql << 'exp(' literal_append(sql, args[1]) sql << ' * ln(' literal_append(sql, args[0]) sql << "))" when :extract sql << args[0].to_s << '(' literal_append(sql, args[1]) sql << ')' else super end end
Derby supports GROUP BY ROLLUP (but not CUBE)
# File lib/sequel/adapters/jdbc/derby.rb, line 271 def supports_group_rollup? true end
Derby does not support IS TRUE.
# File lib/sequel/adapters/jdbc/derby.rb, line 276 def supports_is_true? false end
Derby does not support IN/NOT IN with multiple columns
# File lib/sequel/adapters/jdbc/derby.rb, line 281 def supports_multiple_column_in? false end