module Sequel::DB2::DatasetMethods

  1. lib/sequel/adapters/shared/db2.rb

Constants

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

Public Instance methods

cast_sql_append(sql, expr, type)

DB2 casts strings using RTRIM and CHAR instead of VARCHAR.

[show source]
    # File lib/sequel/adapters/shared/db2.rb
299 def cast_sql_append(sql, expr, type)
300   if(type == String)
301     sql << "RTRIM(CHAR("
302     literal_append(sql, expr)
303     sql << "))"
304   else
305     super
306   end
307 end
complex_expression_sql_append(sql, op, args)
[show source]
    # File lib/sequel/adapters/shared/db2.rb
309 def complex_expression_sql_append(sql, op, args)
310   case op
311   when :&, :|, :^, :%, :<<, :>>
312     complex_expression_emulate_append(sql, op, args)
313   when :'B~'
314     literal_append(sql, SQL::Function.new(:BITNOT, *args))
315   when :extract
316     sql << args[0].to_s
317     sql << '('
318     literal_append(sql, args[1])
319     sql << ')'
320   else
321     super
322   end
323 end
quote_identifiers?()
[show source]
    # File lib/sequel/adapters/shared/db2.rb
325 def quote_identifiers?
326   @opts.fetch(:quote_identifiers, false)
327 end
supports_cte?(type=:select)
[show source]
    # File lib/sequel/adapters/shared/db2.rb
329 def supports_cte?(type=:select)
330   type == :select
331 end
supports_group_cube?()

DB2 supports GROUP BY CUBE

[show source]
    # File lib/sequel/adapters/shared/db2.rb
334 def supports_group_cube?
335   true
336 end
supports_group_rollup?()

DB2 supports GROUP BY ROLLUP

[show source]
    # File lib/sequel/adapters/shared/db2.rb
339 def supports_group_rollup?
340   true
341 end
supports_grouping_sets?()

DB2 supports GROUPING SETS

[show source]
    # File lib/sequel/adapters/shared/db2.rb
344 def supports_grouping_sets?
345   true
346 end
supports_is_true?()

DB2 does not support IS TRUE.

[show source]
    # File lib/sequel/adapters/shared/db2.rb
349 def supports_is_true?
350   false
351 end
supports_lateral_subqueries?()

DB2 supports lateral subqueries

[show source]
    # File lib/sequel/adapters/shared/db2.rb
354 def supports_lateral_subqueries?
355   true
356 end
supports_merge?()

DB2 supports MERGE

[show source]
    # File lib/sequel/adapters/shared/db2.rb
359 def supports_merge?
360   true
361 end
supports_multiple_column_in?()

DB2 does not support multiple columns in IN.

[show source]
    # File lib/sequel/adapters/shared/db2.rb
364 def supports_multiple_column_in?
365   false
366 end
supports_select_all_and_column?()

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

[show source]
    # File lib/sequel/adapters/shared/db2.rb
369 def supports_select_all_and_column?
370   false
371 end
supports_where_true?()

DB2 does not support WHERE 1.

[show source]
    # File lib/sequel/adapters/shared/db2.rb
379 def supports_where_true?
380   false
381 end
supports_window_functions?()

DB2 supports window functions

[show source]
    # File lib/sequel/adapters/shared/db2.rb
374 def supports_window_functions?
375   true
376 end