class Sequel::JDBC::Derby::Dataset

Dataset class for Derby datasets accessed via JDBC.

Constants

BLOB_CLOSE
BLOB_OPEN
BOOL_FALSE
BOOL_FALSE_OLD
BOOL_TRUE
BOOL_TRUE_OLD
CAST_STRING_OPEN
DEFAULT_FROM
EMULATED_FUNCTION_MAP
FETCH_FIRST
HSTAR
OFFSET
PAREN_CLOSE
PAREN_OPEN
ROWS
ROWS_ONLY
TIME_FORMAT

Public Instance Methods

case_expression_sql_append(sql, ce) click to toggle source

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

# File lib/sequel/adapters/jdbc/derby.rb, line 232
def case_expression_sql_append(sql, ce)
  super(sql, ce.with_merged_expression)
end
cast_sql_append(sql, expr, type) click to toggle source

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.

# File lib/sequel/adapters/jdbc/derby.rb, line 239
def cast_sql_append(sql, expr, type)
  if type == String
    sql << "RTRIM("
    super
    sql << ')'
  else
    super
  end
end
complex_expression_sql_append(sql, op, args) click to toggle source
# File lib/sequel/adapters/jdbc/derby.rb, line 249
def complex_expression_sql_append(sql, op, args)
  case op
  when :%, :'B~'
    complex_expression_emulate_append(sql, op, args)
  when :&, :|, :^, :<<, :>>
    raise Error, "Derby doesn't support the #{op} operator"
  when :**
    sql << 'exp('
    literal_append(sql, args[1])
    sql << ' * ln('
    literal_append(sql, args[0])
    sql << "))"
  when :extract
    sql << args[0].to_s << '('
    literal_append(sql, args[1])
    sql << ')'
  else
    super
  end
end
supports_group_rollup?() click to toggle source

Derby supports GROUP BY ROLLUP (but not CUBE)

# File lib/sequel/adapters/jdbc/derby.rb, line 271
def supports_group_rollup?
  true
end
supports_is_true?() click to toggle source

Derby does not support IS TRUE.

# File lib/sequel/adapters/jdbc/derby.rb, line 276
def supports_is_true?
  false
end
supports_multiple_column_in?() click to toggle source

Derby does not support IN/NOT IN with multiple columns

# File lib/sequel/adapters/jdbc/derby.rb, line 281
def supports_multiple_column_in?
  false
end