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 201 def complex_expression_sql_append(sql, op, args) 202 case op 203 when :ILIKE, :"NOT ILIKE" 204 super(sql, (op == :ILIKE ? :LIKE : :"NOT LIKE"), [SQL::PlaceholderLiteralString.new(ILIKE_PLACEHOLDER, [args[0]]), args[1]]) 205 when :&, :|, :^, :<<, :>>, :'B~' 206 complex_expression_emulate_append(sql, op, args) 207 else 208 super 209 end 210 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 213 def supports_derived_column_lists? 214 false 215 end
supports_is_true?()
click to toggle source
H2
doesn’t support IS TRUE
# File lib/sequel/adapters/jdbc/h2.rb 223 def supports_is_true? 224 false 225 end
supports_join_using?()
click to toggle source
H2
doesn’t support JOIN USING
# File lib/sequel/adapters/jdbc/h2.rb 228 def supports_join_using? 229 false 230 end
supports_merge?()
click to toggle source
H2
supports MERGE
# File lib/sequel/adapters/jdbc/h2.rb 233 def supports_merge? 234 true 235 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 238 def supports_multiple_column_in? 239 false 240 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 245 def literal_blob_append(sql, v) 246 if db.send(:version2?) 247 super 248 else 249 sql << "'" << v.unpack("H*").first << "'" 250 end 251 end
literal_false()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb 253 def literal_false 254 'FALSE' 255 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 262 def literal_sqltime(v) 263 v.strftime("'%H:%M:%S'") 264 end
literal_true()
click to toggle source
# File lib/sequel/adapters/jdbc/h2.rb 257 def literal_true 258 'TRUE' 259 end
multi_insert_sql_strategy()
click to toggle source
H2
supports multiple rows in INSERT.
# File lib/sequel/adapters/jdbc/h2.rb 267 def multi_insert_sql_strategy 268 :values 269 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 271 def select_only_offset_sql(sql) 272 if db.send(:version2?) 273 super 274 else 275 sql << " LIMIT -1 OFFSET " 276 literal_append(sql, @opts[:offset]) 277 end 278 end
supports_quoted_function_names?()
click to toggle source
H2
supports quoted function names.
# File lib/sequel/adapters/jdbc/h2.rb 281 def supports_quoted_function_names? 282 true 283 end