class Sequel::JDBC::H2::Dataset

Constants

ILIKE_PLACEHOLDER

Public Instance Methods

complex_expression_sql_append(sql, op, args) click to toggle source

Emulate the case insensitive LIKE operator and the bitwise operators.

    # File lib/sequel/adapters/jdbc/h2.rb
172 def complex_expression_sql_append(sql, op, args)
173   case op
174   when :ILIKE, :"NOT ILIKE"
175     super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), [SQL::PlaceholderLiteralString.new(ILIKE_PLACEHOLDER, [args[0]]), args[1]])
176   when :&, :|, :^, :<<, :>>, :'B~'
177     complex_expression_emulate_append(sql, op, args)
178   else
179     super
180   end
181 end
requires_sql_standard_datetimes?() click to toggle source

H2 requires SQL standard datetimes

    # File lib/sequel/adapters/jdbc/h2.rb
189 def requires_sql_standard_datetimes?
190   true
191 end
supports_derived_column_lists?() click to toggle source

H2 does not support derived column lists

    # File lib/sequel/adapters/jdbc/h2.rb
184 def supports_derived_column_lists?
185   false
186 end
supports_is_true?() click to toggle source

H2 doesn't support IS TRUE

    # File lib/sequel/adapters/jdbc/h2.rb
194 def supports_is_true?
195   false
196 end
supports_join_using?() click to toggle source

H2 doesn't support JOIN USING

    # File lib/sequel/adapters/jdbc/h2.rb
199 def supports_join_using?
200   false
201 end
supports_multiple_column_in?() click to toggle source

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

    # File lib/sequel/adapters/jdbc/h2.rb
204 def supports_multiple_column_in?
205   false
206 end

Private Instance Methods

literal_blob_append(sql, v) click to toggle source

H2 expects hexadecimal strings for blob values

    # File lib/sequel/adapters/jdbc/h2.rb
211 def literal_blob_append(sql, v)
212   sql << "'" << v.unpack("H*").first << "'"
213 end
literal_sqltime(v) click to toggle source

H2 handles fractional seconds in timestamps, but not in times

    # File lib/sequel/adapters/jdbc/h2.rb
216 def literal_sqltime(v)
217   v.strftime("'%H:%M:%S'")
218 end
multi_insert_sql_strategy() click to toggle source

H2 supports multiple rows in INSERT.

    # File lib/sequel/adapters/jdbc/h2.rb
221 def multi_insert_sql_strategy
222   :values
223 end
select_only_offset_sql(sql) click to toggle source
    # File lib/sequel/adapters/jdbc/h2.rb
225 def select_only_offset_sql(sql)
226   sql << " LIMIT -1 OFFSET "
227   literal_append(sql, @opts[:offset])
228 end
supports_quoted_function_names?() click to toggle source

H2 supports quoted function names.

    # File lib/sequel/adapters/jdbc/h2.rb
231 def supports_quoted_function_names?
232   true
233 end