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

DB2 supports GROUP BY CUBE

[show source]
    # File lib/sequel/adapters/shared/db2.rb
337 def supports_group_cube?
338   true
339 end
supports_group_rollup?()

DB2 supports GROUP BY ROLLUP

[show source]
    # File lib/sequel/adapters/shared/db2.rb
342 def supports_group_rollup?
343   true
344 end
supports_grouping_sets?()

DB2 supports GROUPING SETS

[show source]
    # File lib/sequel/adapters/shared/db2.rb
347 def supports_grouping_sets?
348   true
349 end
supports_is_true?()

DB2 does not support IS TRUE.

[show source]
    # File lib/sequel/adapters/shared/db2.rb
352 def supports_is_true?
353   false
354 end
supports_lateral_subqueries?()

DB2 supports lateral subqueries

[show source]
    # File lib/sequel/adapters/shared/db2.rb
357 def supports_lateral_subqueries?
358   true
359 end
supports_merge?()

DB2 supports MERGE

[show source]
    # File lib/sequel/adapters/shared/db2.rb
362 def supports_merge?
363   true
364 end
supports_multiple_column_in?()

DB2 does not support multiple columns in IN.

[show source]
    # File lib/sequel/adapters/shared/db2.rb
367 def supports_multiple_column_in?
368   false
369 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
372 def supports_select_all_and_column?
373   false
374 end
supports_where_true?()

DB2 does not support WHERE 1.

[show source]
    # File lib/sequel/adapters/shared/db2.rb
382 def supports_where_true?
383   false
384 end
supports_window_functions?()

DB2 supports window functions

[show source]
    # File lib/sequel/adapters/shared/db2.rb
377 def supports_window_functions?
378   true
379 end