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.
Calls superclass method
Sequel::Dataset#complex_expression_sql_append
# File lib/sequel/adapters/jdbc/h2.rb, line 203 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?()
click to toggle source
supports_derived_column_lists?()
click to toggle source
H2 does not support derived column lists
# File lib/sequel/adapters/jdbc/h2.rb, line 215 def supports_derived_column_lists? false end
supports_is_true?()
click to toggle source
H2 doesn't support IS TRUE
# File lib/sequel/adapters/jdbc/h2.rb, line 225 def supports_is_true? false end
supports_join_using?()
click to toggle source
H2 doesn't support JOIN USING
# File lib/sequel/adapters/jdbc/h2.rb, line 230 def supports_join_using? false end
supports_merge?()
click to toggle source
H2 supports MERGE
# File lib/sequel/adapters/jdbc/h2.rb, line 235 def supports_merge? true 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, line 240 def supports_multiple_column_in? false end
Private Instance Methods
literal_blob_append(sql, v)
click to toggle source
H2 expects hexadecimal strings for blob values
Calls superclass method
Sequel::Dataset#literal_blob_append
# File lib/sequel/adapters/jdbc/h2.rb, line 247 def literal_blob_append(sql, v) if db.send(:version2?) super else sql << "'" << v.unpack("H*").first << "'" end end
literal_false()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb, line 255 def literal_false 'FALSE' 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, line 264 def literal_sqltime(v) v.strftime("'%H:%M:%S'") end
literal_true()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb, line 259 def literal_true 'TRUE' end
multi_insert_sql_strategy()
click to toggle source
H2 supports multiple rows in INSERT.
# File lib/sequel/adapters/jdbc/h2.rb, line 269 def multi_insert_sql_strategy :values end
select_only_offset_sql(sql)
click to toggle source
Calls superclass method
Sequel::Dataset#select_only_offset_sql
# File lib/sequel/adapters/jdbc/h2.rb, line 273 def select_only_offset_sql(sql) if db.send(:version2?) super else sql << " LIMIT -1 OFFSET " literal_append(sql, @opts[:offset]) end end
supports_quoted_function_names?()
click to toggle source
H2 supports quoted function names.
# File lib/sequel/adapters/jdbc/h2.rb, line 283 def supports_quoted_function_names? true end