class Sequel::JDBC::Derby::Dataset

  1. lib/sequel/adapters/jdbc/derby.rb
Superclass: Dataset

Public Instance methods

case_expression_sql_append(sql, ce)

Derby doesn’t support an expression between CASE and WHEN, so remove conditions.

[show source]
    # File lib/sequel/adapters/jdbc/derby.rb
192 def case_expression_sql_append(sql, ce)
193   super(sql, ce.with_merged_expression)
194 end
cast_sql_append(sql, expr, type)

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.

[show source]
    # File lib/sequel/adapters/jdbc/derby.rb
199 def cast_sql_append(sql, expr, type)
200   if type == String
201     sql << "RTRIM("
202     super
203     sql << ')'
204   else
205     super
206   end
207 end
complex_expression_sql_append(sql, op, args)
[show source]
    # File lib/sequel/adapters/jdbc/derby.rb
209 def complex_expression_sql_append(sql, op, args)
210   case op
211   when :%, :'B~'
212     complex_expression_emulate_append(sql, op, args)
213   when :&, :|, :^, :<<, :>>
214     raise Error, "Derby doesn't support the #{op} operator"
215   when :**
216     sql << 'exp('
217     literal_append(sql, args[1])
218     sql << ' * ln('
219     literal_append(sql, args[0])
220     sql << "))"
221   when :extract
222     sql << args[0].to_s << '('
223     literal_append(sql, args[1])
224     sql << ')'
225   else
226     super
227   end
228 end
supports_group_rollup?()

Derby supports GROUP BY ROLLUP (but not CUBE)

[show source]
    # File lib/sequel/adapters/jdbc/derby.rb
231 def supports_group_rollup?
232   true
233 end
supports_is_true?()

Derby does not support IS TRUE.

[show source]
    # File lib/sequel/adapters/jdbc/derby.rb
236 def supports_is_true?
237   false
238 end
supports_merge?()

Derby 10.11+ supports MERGE.

[show source]
    # File lib/sequel/adapters/jdbc/derby.rb
241 def supports_merge?
242   db.svn_version >= 1616546
243 end
supports_multiple_column_in?()

Derby does not support IN/NOT IN with multiple columns

[show source]
    # File lib/sequel/adapters/jdbc/derby.rb
246 def supports_multiple_column_in?
247   false
248 end