Class Sequel::JDBC::Derby::Dataset
In: lib/sequel/adapters/jdbc/derby.rb
Parent: JDBC::Dataset

Methods

Public Instance methods

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

[Source]

     # File lib/sequel/adapters/jdbc/derby.rb, line 187
187:         def case_expression_sql_append(sql, ce)
188:           super(sql, ce.with_merged_expression)
189:         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.

[Source]

     # File lib/sequel/adapters/jdbc/derby.rb, line 194
194:         def cast_sql_append(sql, expr, type)
195:           if type == String
196:             sql << "RTRIM("
197:             super
198:             sql << ')'
199:           else
200:             super
201:           end
202:         end

[Source]

     # File lib/sequel/adapters/jdbc/derby.rb, line 204
204:         def complex_expression_sql_append(sql, op, args)
205:           case op
206:           when :%, 'B~''B~'
207:             complex_expression_emulate_append(sql, op, args)
208:           when :&, :|, :^, :<<, :>>
209:             raise Error, "Derby doesn't support the #{op} operator"
210:           when :**
211:             sql << 'exp('
212:             literal_append(sql, args[1])
213:             sql << ' * ln('
214:             literal_append(sql, args[0])
215:             sql << "))"
216:           when :extract
217:             sql << args[0].to_s << '('
218:             literal_append(sql, args[1])
219:             sql << ')'
220:           else
221:             super
222:           end
223:         end

Derby supports GROUP BY ROLLUP (but not CUBE)

[Source]

     # File lib/sequel/adapters/jdbc/derby.rb, line 226
226:         def supports_group_rollup?
227:           true
228:         end

Derby does not support IS TRUE.

[Source]

     # File lib/sequel/adapters/jdbc/derby.rb, line 231
231:         def supports_is_true?
232:           false
233:         end

Derby does not support IN/NOT IN with multiple columns

[Source]

     # File lib/sequel/adapters/jdbc/derby.rb, line 236
236:         def supports_multiple_column_in?
237:           false
238:         end

[Validate]