Module Sequel::DB2::DatasetMethods
In: lib/sequel/adapters/shared/db2.rb

Methods

Included Modules

EmulateOffsetWithRowNumber

Constants

BITWISE_METHOD_MAP = {:& =>:BITAND, :| => :BITOR, :^ => :BITXOR, :'B~'=>:BITNOT}.freeze

Public Instance methods

DB2 casts strings using RTRIM and CHAR instead of VARCHAR.

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 280
280:       def cast_sql_append(sql, expr, type)
281:         if(type == String)
282:           sql << "RTRIM(CHAR("
283:           literal_append(sql, expr)
284:           sql << "))"
285:         else
286:           super
287:         end
288:       end

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 290
290:       def complex_expression_sql_append(sql, op, args)
291:         case op
292:         when :&, :|, :^, :%, :<<, :>>
293:           complex_expression_emulate_append(sql, op, args)
294:         when 'B~''B~'
295:           literal_append(sql, SQL::Function.new(:BITNOT, *args))
296:         when :extract
297:           sql << args[0].to_s
298:           sql << '('
299:           literal_append(sql, args[1])
300:           sql << ')'
301:         else
302:           super
303:         end
304:       end

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 306
306:       def quote_identifiers?
307:         @opts.fetch(:quote_identifiers, false)
308:       end

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 310
310:       def supports_cte?(type=:select)
311:         type == :select
312:       end

DB2 supports GROUP BY CUBE

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 315
315:       def supports_group_cube?
316:         true
317:       end

DB2 supports GROUP BY ROLLUP

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 320
320:       def supports_group_rollup?
321:         true
322:       end

DB2 supports GROUPING SETS

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 325
325:       def supports_grouping_sets?
326:         true
327:       end

DB2 does not support IS TRUE.

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 330
330:       def supports_is_true?
331:         false
332:       end

DB2 supports lateral subqueries

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 335
335:       def supports_lateral_subqueries?
336:         true
337:       end

DB2 does not support multiple columns in IN.

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 340
340:       def supports_multiple_column_in?
341:         false
342:       end

DB2 only allows * in SELECT if it is the only thing being selected.

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 345
345:       def supports_select_all_and_column?
346:         false
347:       end

DB2 does not support WHERE 1.

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 355
355:       def supports_where_true?
356:         false
357:       end

DB2 supports window functions

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 350
350:       def supports_window_functions?
351:         true
352:       end

[Validate]