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 279
279:       def cast_sql_append(sql, expr, type)
280:         if(type == String)
281:           sql << "RTRIM(CHAR("
282:           literal_append(sql, expr)
283:           sql << "))"
284:         else
285:           super
286:         end
287:       end

[Source]

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

[Source]

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

[Source]

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

DB2 supports GROUP BY CUBE

[Source]

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

DB2 supports GROUP BY ROLLUP

[Source]

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

DB2 supports GROUPING SETS

[Source]

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

DB2 does not support IS TRUE.

[Source]

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

DB2 supports lateral subqueries

[Source]

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

DB2 does not support multiple columns in IN.

[Source]

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

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

[Source]

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

DB2 does not support fractional seconds in timestamps.

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 349
349:       def supports_timestamp_usecs?
350:         false
351:       end

DB2 does not support WHERE 1.

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 359
359:       def supports_where_true?
360:         false
361:       end

DB2 supports window functions

[Source]

     # File lib/sequel/adapters/shared/db2.rb, line 354
354:       def supports_window_functions?
355:         true
356:       end

[Validate]