Class: Sequel::JDBC::H2::Dataset

Inherits:
JDBC::Dataset
  • Object
show all
Defined in:
lib/sequel/adapters/jdbc/h2.rb

Constant Summary collapse

ILIKE_PLACEHOLDER =
["CAST(".freeze, " AS VARCHAR_IGNORECASE)".freeze].freeze

Instance Method Summary collapse

Instance Method Details

#complex_expression_sql_append(sql, op, args) ⇒ Object

Emulate the case insensitive LIKE operator and the bitwise operators.



204
205
206
207
208
209
210
211
212
213
# File 'lib/sequel/adapters/jdbc/h2.rb', line 204

def complex_expression_sql_append(sql, op, args)
  case op
  when :ILIKE, :"NOT ILIKE"
    super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), [SQL::PlaceholderLiteralString.new(ILIKE_PLACEHOLDER, [args[0]]), args[1]])
  when :&, :|, :^, :<<, :>>, :'B~'
    complex_expression_emulate_append(sql, op, args)
  else
    super
  end
end

#requires_sql_standard_datetimes?Boolean

H2 requires SQL standard datetimes

Returns:

  • (Boolean)


221
222
223
# File 'lib/sequel/adapters/jdbc/h2.rb', line 221

def requires_sql_standard_datetimes?
  true
end

#supports_derived_column_lists?Boolean

H2 does not support derived column lists

Returns:

  • (Boolean)


216
217
218
# File 'lib/sequel/adapters/jdbc/h2.rb', line 216

def supports_derived_column_lists?
  false
end

#supports_is_true?Boolean

H2 doesn't support IS TRUE

Returns:

  • (Boolean)


226
227
228
# File 'lib/sequel/adapters/jdbc/h2.rb', line 226

def supports_is_true?
  false
end

#supports_join_using?Boolean

H2 doesn't support JOIN USING

Returns:

  • (Boolean)


231
232
233
# File 'lib/sequel/adapters/jdbc/h2.rb', line 231

def supports_join_using?
  false
end

#supports_merge?Boolean

H2 supports MERGE

Returns:

  • (Boolean)


236
237
238
# File 'lib/sequel/adapters/jdbc/h2.rb', line 236

def supports_merge?
  true
end

#supports_multiple_column_in?Boolean

H2 doesn't support multiple columns in IN/NOT IN

Returns:

  • (Boolean)


241
242
243
# File 'lib/sequel/adapters/jdbc/h2.rb', line 241

def supports_multiple_column_in?
  false
end